FC2ブログ
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

プログラムを作成する上で、ライフサイクルってとても重要ですよね。
こればかりは知らないと、どの状態でどう実装するのか想像することもできませんよね。

あ、想像はできるか・・。ん、知らない事を想像するのは妄想??

というわけで、簡単にAndroidの妄想をまとめて見ました。


■アクティビティという言葉

Android のインターフェイス、つまり画面はアクティビティというものによって表現されます。
そしてアクティビティは、画面を開いたり、何か行ったり、閉じたりと個々のライフサイクルを持っています。



■Android のライフサイクル

書籍 初めてのAndroid (気になる方は左のメニューからどうぞ) によると


だそうです。

マウス絵むずかしい。

これらの状態が遷移するときに、イベントが起こります。
そのイベントに合わせて、適切なコードを書くことでいろんな事が実現できるわけですね!

では、以下にどの状態からどの状態に遷移した場合に、どのようなイベントが発生するかを
記述します。
スポンサーサイト

■アーキテクチャのイメージ

Androidは階層的なアーキテクチャを採用している。


まずはこちらを見てください。

android.jpg



APPLICATIONS
すべてのアプリケーションはJavaを利用して書かれている。らしい・・。

APPLICATION FRAMEWORK
システムライブラリにアクセスするためのAPI群。って解釈で良いのかな・・。

LIBRARIES
システムライブラリには、C/C++ライブラリとAndroidライブラリ(コアJavaライブラリ)が存在する。

LINUX KERNEL
ハードウェアとソフトウェア間の抽象化層のブリッジとして存在する。


とりあえず予備知識として

Android って何?ってところから。


■ Android とは?

OHA が開発を進める、携帯電話機向けのモバイル・プラットフォーム

特徴としては、オープンソース・プラットフォームであること。
これは、どのメーカーやキャリアでも、自由に携帯端末に搭載して販売しても問題ないけど、

Android を採用するメーカー次第では
「うちはうち、他社のアプリは認めないよ」っていう改造も可能らしい。

・・・らしい?どうなんでしょ。



特徴(bg_logo_s.png から引用)

1. コンポーネントの再利用置換が可能なアプリケーション フレームワーク
2. 携帯電話用に最適化された Dalvik 仮想マシン
3. オープンソース WebKit エンジンをベースにした統合ブラウザ
4. 最適化されたグラフィックス
5. SQLite による構造化データ ストレージ
6. 音声、映像、静止画の最適化されたグラフィックスに対するメディア サポート
7. GSM テレフォニー機能(ハードウェアに依存)
8. Bluetooth、EDGE、3G、WiFi(ハードウェアに依存)
9. カメラ、GPS、コンパス、加速度計(ハードウェアに依存)
10. デバイス エミュレータ、デバッグ用ツール、メモリとパフォーマンスの分析、Eclipse IDE 用プラグインを含む機能の豊富な開発環境

これだけ文字並べちゃうと、可視性の問題が・・
若干後悔しつつ、特徴はリンクだけで良いかなって気もしてきました。

次回はアーキテクチャについてさらりと


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。