Hello, Android !!

はじめに

気が付けば2015年ももう少しで折り返し地点.はやいよホントに・・・.
今回のエントリは,Androidについて.何年か前に本を見ながら簡単なAndroidアプリを作ったことはあるが,今となっては完全に忘れてしまっているので,思い出すという意味でも投稿していけたらと思う.

Androidって何ぞや?

 →ライセンス料を誰かに払う必要はなく,誰でも開発ができる.

  • 複数のレイヤから構成される.
  • 特定のハードウェアに依存しない.

 →Androidを搭載しているデバイスでは,異なるハードウェアであっても同じアプリが動作する.

Androidを構成するレイヤ

Linuxカーネル
AndroidLinuxをベースにして動作する.
・メモリ管理,電源管理,デバイス管理などを担当する.
Androidの「土台」.

【標準ライブラリ】
Linuxカーネル上で動作するライブラリ群.
SQLite(データベース管理),WebKit(Webブラウザの描画)など.

Androidランタイム】
JVM+Dalvik VM
JVM
  - Javaソースコードバイトコード(中間コード)に変換する.
- 各プラットフォームに対応したJVMがネイティブコード(プラットフォームに固有のコード)に変換して実行.
・Dalvik VM
- 携帯端末の低メモリ環境に最適化されたVM
- Javaバイトコードをdx変換ツールでdex形式(Dalvikバイトコード)に変換.
→ ネイティブコードに変換して実行

【アプリケーションフレームワーク
・アプリケーションを開発するための枠組み.
・アプリケーション開発に必要な機能を提供する.
・画面の生成や破棄,データ共有や位置情報,通話,通知などを管理.

【アプリケーション】
・ブラウザやカメラなど,エンドユーザに一番近いレイヤ.

Androidのバージョン

2009年に一般公開されたバージョン1.5を皮切りに,バージョンアップが今もなおなされている.
ちなみに私が持っているスマートフォンAndroidバージョンが4.0.3で,タブレットAndroidバージョンは4.4.2である.
バージョンに応じてコードネームが決められており,確か最近ではバージョン5.0のLollipopが発表されたっけか.


おわりに

Androidってなんやねん,というところを中心に記載した.
これからは従来のJavaに加え,Androidについてのエントリも増やしていけたらと思う.
何かアプリを作ろうかな….そうするとしたら,ソースコードを全部のしていては無駄に長くなってしまうので,ソースコードをGitか何かにアップしてみようかな….Gitのアカウントとか持ってないけど.

参考文献

www.amazon.co.jp