Android
開発概要
日 本 A n d r o i d の 会
鹿 児 島 支 部 長
野 崎 弘 幸
平成23年度KISA講演会 ( 鹿児島市共催 )
この講習のテーマ
Android開発の基礎について説明します。
本日は、実際のプログラミングの手前までです。
開発者の方は、この講習の後、ぜひ、手を動かして、
コードを書いて、Androidの開発をはじめて下さい。
6月末∼9月初旬の全6回で、
ハンズオン形式の講習会も予定されています。
日本Androidの会鹿児島支部としても定期的に勉強会を
行っています。 http://bit.ly/JAGK-ML
開発者の視点でみたAndroidの特徴
オープンソースである。
無料で開発を始められる。(developper登録は有料)
開発PCを問わない。(Windows、MacOS、Linux)
プログラミング言語は、java。(Dalvik仮想マシン)
ハードウェアとも密接な関係。
Android Marketで、無料・有料のアプリを世界に配信。
Web系も組み込み系もゲーム系もその他の開発者も
それぞれの切り口で開発。
Androidのアーキテクチャ
Androidのアーキテクチャ
Linux Kernel (2.6)
OSとしての基本的な機能
Androidのアーキテクチャ
Androidランタイム
Dalvik仮想マシン(独自仮想マシン)
コアライブラリ
Androidのアーキテクチャ
ネイティブライブラリ
データベース(SQLite)
ブラウザ(WebKit)
OpenGL ES
など...。
Androidのアーキテクチャ
フレームワーク
ライフサイクル管理
ユーザーインターフェース管理
通話機能管理
など...。
Androidのアーキテクチャ
アプリケーション
キーアプリケーション
バンドルアプリケーション
ダウンロードアプリケーション
Androidの開発ツール
基本開発ツール
Eclipse
• 統合開発環境
• コード補完
• ビルド
• デバッガ
Androidの開発ツール
基本開発ツール
Android SDK
• Eclipseプラグイン
GUIエディタ
端末情報
画面キャプチャ
• エミュレータ
• コマンドラインツール
• shell
Androidの開発ツール
その他の開発ツール
Android NDK
• C、C++でモジュール開発
• 高速化
• 既存のソースコード流用
• Rev.5より、
NativeActivityクラス導入
Androidの開発ツール
クロスプラットフォーム開発環境
Android、iPhoneに対応
Titanium Mobile
PhoneGap
Corona
Adobe Flash Builder 4.5
Androidの開発ツール
ゲームエンジン
Unity
• javascript、C++
Androidの開発ツール
モバイルWEBフレームワーク
WEBページ、WEBアプリ作成
jQuery Mobile
jQTouch
Sencha Touch
WINK TOOLKIT
Androidアプリケーション開発の基本
アクティビティ
• アプリ内の1画面。
• 独立した単位。
• 複数のアクティビティの連携によってアプリを形成。
• 異なるアプリケーション同士でも連携できる。
Androidアプリケーション開発の基本
インテント
• アクティビティを呼び出す。
• 相手を指定する「明示的インテント」。
• インテントフィルタの設定によって呼ばれる
「暗黙的インテント」。
• 暗黙的な呼び出しは、URI形式。
別アプリの
ナビ機能呼び出し
Androidアプリケーション開発の基本
アクティビティの
ライフサイクル
• フォアグラウンドなアクティビティ
現在のタスクのスタックの最上位。
• 一時停止のアクティビティ
メモリ不足の場合、強制終了の可能性。
• 停止のアクティビティ
表示はされていないが情報はまだ保持。
メモリ不足の場合、強制終了の可能性が高い。
Androidアプリケーション開発の基本
サービス
• バックグラウンドで動作。
• ユーザーインターフェースを持たない。
• 実行中のサービスに接続(バインド)することもできる。
• 開始したら、停止するまで実行。
• 一時停止などがないので、ライフサイクルはシンプル。
音楽再生
Androidアプリケーション開発の基本
ブロードキャストレシーバ
• ブロードキャストを受信。
• 受信したいものを設定することで受信。
• ユーザーインターフェースは持たない。
• アクティビティ開始、アラート送信などの
アクションは起こせる。
Androidアプリケーション開発の基本
コンテンツプロバイダ
• アプリケーション間で情報を共有。
• ファイルやSQLiteなどの一般に利用できる方法で格納。
Androidアプリケーション開発の基本
マルチタスク
• 複数のアプリケーションを起動できる。
• メモリ状態で自動終了される。
Androidアプリケーションの配信
Android Market
• $25の登録料で、無制限にアプリを登録可能。
• 登録に事前審査なし、問題があってから対応。
(WEBと同じ。)
• デベロッパーコンソールが便利。
ご清聴ありがとうございました。

Androidの開発概要