Hello, Android !!
はじめに
気が付けば2015年ももう少しで折り返し地点.はやいよホントに・・・.今回のエントリは,Androidについて.何年か前に本を見ながら簡単なAndroidアプリを作ったことはあるが,今となっては完全に忘れてしまっているので,思い出すという意味でも投稿していけたらと思う.
Androidって何ぞや?
- スマートフォンやタブレット等の携帯端末向けのOSのひとつ.
- もともとはAndroid社によって開発されていたプラットフォームだが,Google社がAndroid社を買収し,同社が中心に設立した業界団体OHA(Open Handset Alliance)によってオープンソースとして発表した.
→ライセンス料を誰かに払う必要はなく,誰でも開発ができる.
- 複数のレイヤから構成される.
- 特定のハードウェアに依存しない.
→Androidを搭載しているデバイスでは,異なるハードウェアであっても同じアプリが動作する.
Androidを構成するレイヤ
【Linuxカーネル】・AndroidはLinuxをベースにして動作する.
・メモリ管理,電源管理,デバイス管理などを担当する.
・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のアカウントとか持ってないけど.