疑問解決(Android)

2013/3/9

Android携帯について調べてみました。

・ 概要

 ”Android”とは、Google社が提供するスマートフォンやタブレット向けOSです。
 このページを書き上げた2008年当初は、アンドロイド搭載のスマートフォンは存在せず、
 iPhoneもまだ無かったと記憶しています。
 そのときは、W-Zero3に代表されるWindowsMobileOSがこの分野を制圧するかと思ってました。

 それがいまや、iPhone全盛の時代を経て、iPhoneとアンドロイド2強の時代に突入しています。
 しかし、iPhoneはアップルの1社供給のため、ニッチ市場で細々く生きながらえているマックと同様、
  もう少し時間が経てば徐々に駆逐され、恐らくアンドロイド全盛の時代になると思います。

 私も、WindowsMobile派としてWM機を4台(W-zero3系×4)持っていましたが、
 現在ではアンドロイド端末も3台所有しています。
 (その前はPalmOS機を3台所有していましたが、その話題はもうやめましょう)

・Java
 アンドロイドでのアプリケーション開発は、通常Java言語を利用して行います。
 ただし、アンドロイドのJava実行環境はPCのそれとは違います。

 通常PCでのJava環境は、開発元であるSun(今はOracleと言った方がよいのかな)のVMであるJREが普通です。
 それに対しアンドロイドでは、Javaをモバイル用に最適化された Dalvik 上で動作させます。
 ※実際には、DalvikはJavaのバイトコードを直接解釈するわけではなく、
  またJava互換性テストも通過していないため、厳密にはJavaVM環境ではない。
ライブラリ
 2Dグラフィックエンジンとして「SGL」、
 3Dグラフィックエンジンとして「OpenGL ES 1.0」をベースとしています。
 またデータベースエンジンとして、SQLiteを内臓しています。
・バージョン
Ver コードネーム 特徴
1.5 Cupcake Linuxカーネル 2.6.27
1.6 Donut Linuxカーネル 2.6.29
2.0/2.1 Eclair
Linuxカーネル 2.6.29
Microsoft Exchange サポート
2.2 Froyo

Linuxカーネル 2.6.32
Dalvik VM にJITコンパイラを搭載
JavaScript V8を搭載
OSでのテザリング対応
Adobe Flash対応

2.3 Gingerbread
Linuxカーネル 2.6.35
NFC(近距離無線通信)対応
SIPの標準サポート
3.0/3.1/3.2 Honeycomb Linuxカーネル2.6.36
タブレット用OS
4.0 IceCream sandwich スマートフォンとタブレットと統合
5.0 Jelly bean  

・メモリ領域

 アンドロイドのハードを見ていると、
 メモリ表記が”システム 512MB、NANDフラッシュ 4GB”等
 2種類書かれていて初心者の方には紛らわしいと思います。
 これはパソコンに例えると判りやすいと思います。
 小さい方(上記の例えでは512MB)はパソコンで言うメモリにあたり、
 アプリケーションの動作の快適さに影響します。
 大きい方(上記の例えでは4GB)はパソコンで言うハードディスクやSSDにあたり、
 ソフトやデータをどれくらい保存できるかに影響します。
 またこの領域にOSも保存されているため、
 記載分のすべてをユーザが利用できるわけではありません。

・GPS

 このご時世、いろんなものにGPSが付いていますので、
 GPSの事を知らない人はほとんど居ないと思いますが、
 GPSとはGlobal Positioning Systemの略称です。

 GPSは3つの衛星から電波を取得できれば、位置情報を特定できます。
 また携帯電波を利用したA-GPS(Assisted Global Positioning System)という技術も開発されています。
 これは、空が開けておらずGPS衛星を捕捉できない場合でも
 位置情報を取得できる技術です。
 ただし、当然のことながら携帯電波のエリア外では利用できません。

・JNI

 最近上記ePadなるものはほとんど触っていません。
 入手当初は反応が遅くてもこんな物と思って使ってましたが、
 さすがにレスポンスの良いDIGNOとかを触り出すともう戻れません。
 そこで、またタブレット(7インチor10インチ)を物色しているのですが、
 Novo 7 Paladinという機種が、性能もそこそこで1万程度で買えるという情報をゲットしました。
 レビュー動画を見ると確かにサクサク動いています。
 ポチッと買いそうになりましたが、思いとどまりました。

 この機種はCPUにAndroidでよく使われるARM系ではなく
 MIPS系のCPUが使われています。
 Androidの開発は基本的にJavaになりますが、
 Javaだけでは速度等問題が有る場合は
 JNI等機種(CPU)依存命令を利用する場合があります。
 その場合は、 特定のCPUしか動作しなくなります。
 そのため、ARM系以外のCPUのアンドロイドでは動作しないソフトが結構有ります。
 なので自分の利用したいアプリが購入予定の機種で動作するか確認する方がよいでしょう。
 まぁARM系を買うのが無難です。
・単語集
単語 解説
Apache harmony オープンソースフリーのJava実装です。
Dalvikの基です。
IPL
(Initial Program Loader)
起動時最初に読み込まれるプログラム
SPL
(Secoundary Program Loader)
IPLの次に読み込まれるプログラム
OSの初期化時に呼ばれる。
HardSPL ソフトのSPLに対して、
ハードリセット時に読み込まれるプログラム
ROM
(Read Only Memory)
本来であれば、読込専用メモリのこと。
ただし、書き換え可能なフラッシュROMも存在する。
カスタムROM 上記のようにROMとはハードを指す単語ですが、
カスタムROMとはフラッシュROMに書込むソフトウェアのことを指します。
HBoot HTC社による自社端末向けのブートローダー
ブートローダーの画面に”S-ON”とある場合はセキュリティがONになっている。
セキュリティがONの場合、
/system などのパーティションがライトプロテクトされたり、
正規のリカバリイメージ以外はNANDフラッシュに書込みが出来なくなる。
FastBoot  
Xperia(SO-01B) 2010年4月1日にdocomoから発売された ソニーエリクソン製Android機です。
TFカード 中国製タブレットのスペックを見ていると、
TF(TransFlash)カードとの記載があります。
TFカードとはmicroSDカードの事です。
サンディスク社が当初TFカードを規格化し、
microSDがその規格を引き継いだためです。
SGL
(Scalable Graphic Library)
Googleが一から起こしたライブラリです。
OpenGL ES
(OpenGL for Enbeded Systems)
OpenGLの組込み向けサブセットライブラリです。
さらに情報が欲しい方は、Google検索で  
Google
・ TOPへ戻る
 

メールはこちらに