SlideShare a Scribd company logo
Android



モバイル事業本部 企画開発部
川平 航介
Androidの時代がやってきた!




 Android搭載スマートフォンが増えてきた
 日本でも新機種が続々と


                           2
Agenda

 Androidの紹介
 Androidアプリの作り方
 Android Market
 作ってみたアプリの紹介




                   3
自己紹介
 川平 航介
 モバイル事業本部 企画開発部
    ◦ モバイルサイトのプラットフォームとか
   2009年4月入社
    ◦ 今年で3年目です
   Id: @binzume




                           4
ANDROIDの紹介




             5
Android??
   モバイル向けプラットフォーム

    ◦   Google
    ◦   2007年11月
    ◦   オープンソース → ソース読めます
    ◦   ドロイド君




                            6
バージョンについて
   1.6 (Donut)
    ◦ 音声検索機能
   2.1 (Eclair)
    ◦ 多くの解像度に対応,ライブ壁紙
   2.2 (Froyo)
    ◦ FlashPlayer10使える,高速化
   2.3 (Gingerbread)
    ◦ 高速化,Javaを使わなくても開発可能に

    詳しくはWikipediaを…

                             7
Android Market上での統計
   2.2   63.9%
   2.1   27.2%
   1.6   3.5%
   2.3   2.5% (2.3.3含む)




2011/04/01

                           8
日本では…
   とあるアプリの場合
   2.2 39.3%
   2.1 47.8%
   1.6 6.4%
   2.3 6.0%




2011/04/13

                9
アーキテクチャ(1)
   Wikipediaより




                  10
アーキテクチャ(2)
   こんな感じ
            アプリケーション


         アプリケーションフレームワーク

                   コア・ライブラリ
         標準ライブラリ             .
                     Dalvik VM


               Linux


     Androidアプリ開発ではこの辺が重要

                                 11
標準ライブラリ
 OpenGL 3D/2Dグラフィック
 SQLite  データベース
 Web Kit HTMLの表示
 他色々




    ◦ 今回ライブラリの話はしません

                       12
Dalvik VM
   Androidアプリを実行する仮想マシン
    ◦ 省メモリ
    ◦ Javaで書いたアプリはDalvik用のコードに
      変換して実行する
    ◦ Android 2.2からはJITコンパイルに対応




                                  13
ANDROIDアプリの作り方




             14
開発環境
 Java
 Android SDK
 Eclipse + ADT Pluginが便利
    ◦ ADT : Android Development Tools



    導入方法などは適当にググって!



                                        15
Java
   Javaで開発するのが現実的
    ◦ NDKを使えば他の言語で書いたライブラ
      リ等を呼び出せる
     NDK : Native Development Kit
     端末のCPUに依存するアプリになってしまう




                                     16
Android SDK
http://developer.android.com/sdk/index.html
 SDKの内容
  ◦   AndroidのAPI使うためのSDK本体
  ◦   サンプルプログラム
  ◦   エミュレータ
  ◦   開発用のツール




                                          17
Eclipse + ADT Plugin
   Eclipse
    ◦ 超便利
     (贅沢言うなら,もう少しサクサク動いて欲しい)

   ADT Plugin
    ◦ Eclipse上でAndroid SDKのツールを簡単に
      使える
    ◦ コンパイル→端末に転送→実行がワンク
      リックで


                                     18
アプリケーションフレームワーク
   Androidアプリの肝
    ◦   Activity
    ◦   Service
    ◦   Intent
    ◦   Content Provider



             ActivityとIntent は必修!

                                    19
Activity
   表示される画面の単位
    ◦ Activityクラスを継承して処理を書く
    ◦ 画面が切り替わるとき別のActivityが起動して
      いる
    ◦ 前のActivityも保持され,戻ることができる
           Bを起動            Cを起動




                     Activity B   Activity C
        Activity A



               Bを終了しAに Cを終了しBに
                                               20
Activityと View
 Activityはまず最初にViewを用意する
 View = 画面に表示する内容
    ◦ ボタンや画像,テキストなどを置ける



               テキスト
    Activity
                     画像
      View

               ボタン


                            21
Activityと View
   Viewの内容はlayoutというxmlに書く
    ◦ Javaのコードでも書けるけどxmlで定義す
      るのが良い
    ◦ EclipseのADT PluginならGUIでボタンなど
      を配置できる(…が日本語使うのは難あり)




                                  22
Service
   Activityと違って画面には出ない
    ◦ バックグラウンドで動く
     Activityを起動したり
     通知領域にアイコンやメッセージを出すなど


    ◦ 通知領域




                             23
Intent
   ActivityやService間でデータを受け渡す
    ◦ 例:ボタンを押したら画面が切替わる


                      Intent     3 Bが起動しIntent受け取る



    Activity A   2 AがIntent投げる       Activity B

     ボタン



1 ボタンを押す

                                                     24
Intent
   渡せるもの
       URL
       数値
       文字列
       …など
   Intentは別のアプリにも送れる




                        25
Intent
   明示的Intent
    ◦ 指定したActivityやServiceを起動したり
      データを渡せる
   暗黙的Intent
    ◦ URLやファイルをIntentで投げると対応ア
      プリが自動的に起動する
      複数ある場合はユーザーが選択する




                                   26
Content Provider
   他のプロセスにファイルやDBを提供
       ファイル自体はIntentで渡せない
       他のアプリからURIでアクセスできる
           例: content://com.example.hoge.fileprovider




                                                         27
センサー類
 GPS
 加速度
 ジャイロ
 コンパス
 カメラ




         28
その他
   ライブ壁紙
     動く壁紙
   ウィジェットアプリ
     ホーム画面に置ける常駐アプリ
   ホームアプリ
     ホーム画面自体もアプリで作成できる




                          29
気を付けること:メモリ
   Javaだからメモリリークとか気にしな
    くて良い?
         →そんなことはない

   基本的に1アプリ16MB

   javaのstaticメンバ等は避けるのが無難
     アプリ画面を閉じてもプロセスは生存してる


                              30
気を付けること:速度
   UIスレッドで重い処理をしない
    ◦ ネットワーク
    ◦ ファイルアクセス
   別スレッドで処理する
    ◦ Service
    ◦ AsyncTask




                      31
気を付けること:環境
   環境は様々
    ◦   OSのバージョン
    ◦   画面の解像度
    ◦   使えるセンサーの種類
    ◦   カメラ・フラッシュの有無




                       32
ANDROID MARKET




                 33
Android Market
https://market.android.com/




                              34
Android Market

   アプリケーション数:20万以上
    ◦ 2011年4月時点
   無料のアプリが多い
    ◦ 65%が無料
    ◦ 審査などは無い
    ◦ 良いアプリ探すのは結構大変



                      35
作ったアプリを公開する
1.   開発者用アカウントを取得($25必要)
2.   アプリケーションを登録
     ◦ ファイルをアップロード
     ◦ 説明文を書く
     ◦ スクリーンショットなど
3.   少し待つと検索結果に現れる
     ◦ 30分くらい?

審査とか待たなくて良いのが素晴らしいですね!

                           36
開発者ページで見れるもの
   ダウンロード数
    ◦ 実際にインストールされてる数も分かる
   ユーザーの統計
    ◦ OSのバージョン
    ◦ 機種
    ◦ 国・言語




                           37
作ってみたアプリの紹介




              38
ネギアンテナ
 ネギが表示されるウィジェットアプリ
 電波の強さでネギの本数が変わります


   画期的!




    冗談です

                  39
ニコニコPlayer(仮)
   作ってみました
    ◦ ニコニコ動画のクライアント
    ◦ コメントもできるよ
    ◦ まだ一部の動画が再生できない…




                        40
ニコニコPlayer(仮)
   デモ




                41
最後に


   Androidアプリ開発 楽しいです
    ◦ 楽しい≒苦難の道
    ◦ Androidはまだまだ進化中




                         42

More Related Content

PDF
みゆっき☆Think#3 「androidに触ってみるよ!」
PDF
Cocos最新情報(2015/3/13)
PDF
SmartARの使い方(基本編)
PDF
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
PDF
どうなる?Windows 8時代の業務アプリ開発
PDF
Pebble開発について大いに語る
ODP
Jenkins導入ライブ
PDF
HoloLens 2 開発入門 (公式チュートリアルの紹介)
みゆっき☆Think#3 「androidに触ってみるよ!」
Cocos最新情報(2015/3/13)
SmartARの使い方(基本編)
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
どうなる?Windows 8時代の業務アプリ開発
Pebble開発について大いに語る
Jenkins導入ライブ
HoloLens 2 開発入門 (公式チュートリアルの紹介)

What's hot (20)

PPTX
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
KEY
Androidリリース作業の効率化(2)
PPTX
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
PDF
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
PDF
OSC Tokushima 2013
PDF
【Unite Tokyo 2018】基調講演
PDF
UnityによるHoloLensアプリケーション入門
PDF
Android pieの新機能紹介
PDF
WPF/Silverlight視点で視る MetroスタイルのXAML
PDF
VRモーキャプツール『VR Motion Recorder』の使い方
PDF
cocos2d-xにおけるマップエディタの利用
PDF
HoloLens 2 開発入門
PDF
UIElements+UI BuilderでEditor拡張を作ろう
PPTX
Windows Mixed Reality環境準備
PDF
Unityで始めるバーチャルプロダクション
PPTX
UnityでVRアプリ(Android Cardboard)を作る -準備編-
PDF
AndroidのUI設計で押さえておきたいポイント
PPTX
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
PDF
Unity+Vuforiaで始めるARアプリ開発
PDF
cocos2d-xにおけるBox2Dの利用方法および便利なツール
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Androidリリース作業の効率化(2)
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
OSC Tokushima 2013
【Unite Tokyo 2018】基調講演
UnityによるHoloLensアプリケーション入門
Android pieの新機能紹介
WPF/Silverlight視点で視る MetroスタイルのXAML
VRモーキャプツール『VR Motion Recorder』の使い方
cocos2d-xにおけるマップエディタの利用
HoloLens 2 開発入門
UIElements+UI BuilderでEditor拡張を作ろう
Windows Mixed Reality環境準備
Unityで始めるバーチャルプロダクション
UnityでVRアプリ(Android Cardboard)を作る -準備編-
AndroidのUI設計で押さえておきたいポイント
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
Unity+Vuforiaで始めるARアプリ開発
cocos2d-xにおけるBox2Dの利用方法および便利なツール
Ad

Similar to Android0422 (20)

PDF
Android Lecture #01 @PRO&BSC Inc.
PPTX
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
PDF
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
PDF
[Jagys]android41+開発ツール紹介
PPTX
第2回ビジネスモバイル研究会
PPTX
01 idea table3.1(up)
PDF
アプリリリース後に後悔しないための20のこと
PDF
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
PDF
Kii cloud 勉強会 #2
PPTX
Androidプログラミング入門
PDF
Android Studioの魅力
PDF
Windows 8 Developers カンファレンス
PDF
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
PPTX
Droidcon London2012 Speaker Experience
PDF
The Twelve-Factor (A|M)pp with C#
PPTX
01 idea table3.2
ODP
Intentの概要
PDF
福井スマートフォンハッカソン Titanium Mobileの紹介
PDF
Google mapとgps機能を使ってみた。
PPTX
スマ研第2回レポート
Android Lecture #01 @PRO&BSC Inc.
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
[Jagys]android41+開発ツール紹介
第2回ビジネスモバイル研究会
01 idea table3.1(up)
アプリリリース後に後悔しないための20のこと
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Kii cloud 勉強会 #2
Androidプログラミング入門
Android Studioの魅力
Windows 8 Developers カンファレンス
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Droidcon London2012 Speaker Experience
The Twelve-Factor (A|M)pp with C#
01 idea table3.2
Intentの概要
福井スマートフォンハッカソン Titanium Mobileの紹介
Google mapとgps機能を使ってみた。
スマ研第2回レポート
Ad

Android0422