Android」カテゴリーアーカイブ

Android

Android OS 2.3 と NDK r5

新しい Android OS 2.3 Gingerbread が公開され、同時に SDK も新しくなりました。
特に嬉しいのが NDK の強化。NDK r5 がリリースされています。

Android SDK

Native 向け API が大幅に追加されたようで、従来 Java + JNI 経由で受け取って
いた入力関係、Java でないと初期化出来なかった EGL 関連も Native code で
記述できるようになっています。
下記の NativeActivity の例を見ると C だけで書かれているのがわかります。

NativeActivity

NDK を使うとデバッグが大変だったので、gdb が含まれるようになったのもかなり
重要なポイントでしょう。

C/C++ の利点はプラットフォームの垣根を越えた共通言語であること。
ライブラリやツールをシェアし、core 部分を移植しやすくするという意味でも
C/C++ のサポート強化は歓迎です。

ndk-build の使い方は r4 と同じですが、内部のディレクトリ構成は結構変わって
いるようです。
自分で build system を構築している場合は少々手を入れる必要があります。

関連エントリ
Snapdragon と浮動小数演算速度
Android NDK r3 と OpenGL ES 2.0

マウスコンピュータ LuvPad AD100

Android Tablet の LuvPad AD100 来ました。
12月に延期になったとか言われてすっかり諦めていただけにうれしい誤算でした。
ちなみに 9月中旬頃 PCDEPOT で予約です。

LuvPad AD100

これで Tegra2 の GPU と Cortex-A9 を試す環境が出来ました。
でも時間がなくてほとんど試す余裕が無いのがつらいところ。

内蔵アプリも少なくマーケットアプリも無いので、ある程度使えるよう環境を
作っていく必要がありそうです。

普段 HTC Desire X06HT を使っているため Android の操作方法は慣れている
つもりでしたが、携帯電話として作りこまれた Desire とは結構違いがあります。
開発者向けの素の状態にかなり近いです。

たまに待たされたりタッチしたはずが反応しないことがあって、スムーズな
操作という点では現状 Desire の方が上と感じました。

液晶は視野角が狭く角度によって見え方が大きく変わります。
そのため縦位置では左右の視差による違いが気になるかもしれません。
基本は横画面で使う端末だと思ったほうが良さそうです。

DevTools が入っておりターミナルもあるのですがソフトキーボードからの
入力がうまくいきません。
その代わり ES File Explorer というソフトが入っており、これを使って
フォルダ内を自由に見ることができます。

スペックにはフラッシュ容量は 8GB と書かれていますが、設定画面の
「SDカードと端末容量」を見ると SDカード相当が 12GB 、本体容量が
1.74GB と表示されています。
micro SD スロットには何もいれていないので、これがおそらく内蔵している
フラッシュ容量だと思われます。

手持ちの micro SD は再起動したら /sdcard2 にマウントされていました。

同じ Tegra2 の dynabook AZ について書かれたこちらのページを参考にして
android_winusb.inf を書き換えたら ADB でつながるようになりました。

Android PC のdynabook AZを使ってみるブログ (GreenTea2010 さん)

あとはキーボードがつながってくれると良いのですが。

Android HTC Desire X06HT を使って気がついたこと

発売日に購入しておよそ 2ヶ月。
メインで使う端末として定着しました。

Android 2.1 / HTC Desire X06HT

iPhone と比べると気になるところがいろいろありますが、それらの動作や仕組みを
理解して克服していく感じは PC や昔の PDA を思い出します。
WindowsCE/WindowsMobile と比べると遥かに整理されていて素のままでも
使いやすく、それでいて iPhone の完成された統一感とは全く異なった世界です。

準備万端すぎる iPhone にはちょっとだけ物足りなく感じていて、
自力で使いこなす達成感をそこそこ感じつつ、実用性と流行りものの共存が可能で
最新のハードで存分に使い倒したい。
そんなわがままをバランスよくミックスしたのが今の Android だと感じました。

●ホーム画面のアイコンを消してもアプリは消えない

最初とまどうのがアプリの消し方。ホーム画面には全部のアプリが無く、長押しで
ゴミ箱にいれてもアイコンが消えるだけ。
「すべてのプログラム」の画面から消すこともできません。

設定画面から アプリケーション→アプリケーションの管理 を選んでやっと削除
することができます。

iPhone に慣れすぎていたことが原因で、思い出してみればもともと Windows も
WindowsMobile も専用のアプリケーション削除画面を持っていました。
Android もそのルールに則っています。

ホーム画面にあるアイコンはショートカットです。
WindowsMobile のスタートメニューにある プログラム と似ています。
複数の画面にアプリアイコンを置くこともできるし、あまり使わないアプリは
消しておけます。

アプリケーションの管理画面は表示が遅いので、ダウンロードしたアプリなら
マーケットから「ダウンロード履歴」を開いてアンインストールた方が楽です。

●タスクの終了機能は付いている

HOME ボタンは即座に HOME 画面を呼び出す機能です。
iPhone (iOS3以前) のようにアプリケーションを終了させる動作になりません。
アプリケーションは走ったまま一時的にバックグラウンドに切り替わります。

戻るボタン (←┐) は基本的に 1つ前の画面に戻る操作を意味していますが、
同一アプリケーション内で前の画面のスタックが存在しない場合は、プログラムの
終了を意味しています。
例えば起動直後のトップ画面で 戻る (←┐) を押すとほとんどのアプリは終了します。
ブラウザなど終了しない例外アプリも一部あるようです。

この動作に気がついてからは、アプリを戻るボタンで終了させることが多くなりました。
タスクマネージャーの類を使うこともほとんどなくなりました。

・画面下の戻る(←┐)ボタンはアプリのトップ画面(Activity)で使うとアプリ終了
・HOME はタスク切り替え。短く押して HOME 起動、長押しで履歴。

●タッチで反応する位置が若干下

ハードウエア依存かもしれませんが、タッチ時に反応する位置が iPhone 比で
感覚よりも若干下です。最初はかなり間違えました。

画面の上下は関係なく、指の先端部よりも指の腹の方が代表座標とみなされるようです。
たいていタッチしたい場所は画面に対して横長の形状なので、正面からまっすぐタッチ
するとぶれやすくなります。

画面に対して端末の横方向から指を伸ばしてタッチすると、画面を拡大しなくても
正確に押せます。

●長押しメニューがじゃまになる

解像度が高いのであまり拡大しなくても文字が読めます。
そのせいか、タッチ範囲が狭いまま操作しようとしてよく誤タッチします。

iPhone ではタッチ対象の場所の色がすぐ変わり、そのまま指をずらすなり確認しつつ
正しい場所に補正することができました。

Android は長押しにメニューや範囲選択が仕込まれていることがほとんどです。
微調整の為にタッチ場所の色や選択状態を確認しようと思ってる間に、ポップアップ
メニューが出てじゃまされることがよくあります。
長押し判定時間の調整が欲しいと思いました。

●容量にはかなり気を遣う

アプリケーションを入れられる容量制限がかなり厳しいです。
機種依存ですが X06HT の場合はおよそ 147MB。

音楽データや写真、ムービーなどのデータは SD カードに入るため特に困らないものの
アプリの容量ですぐに限界になります。

もともと音楽プレイヤーが発端で大容量が当たり前の iPhone とはアプリ事情がかなり
異なっています。WindowsMobile でも常駐するシステム系以外は SD カードに
インストールすることができました。

使ってみるまでわからない制限です。
容量の大きなアプリは導入の妨げになりますし、不要なものはすぐ消すようなります。
Android 2.2 froyo で大きく改善されるとのことなので将来に期待です。

それぞれの Mobile OS の制限

 ・Adnroid 2.1 : アプリをインストールできる容量の限界 (2.2 で解消予定)
 ・iPhone OS 3 (iOS3以前) : Home 画面のアイコン数の限界 (iOS4 で解消済み)
 ・WindowsMobile 6 : プロセス数とプロセスのメモリ空間の限界 (7 で解消?)

●Home 画面で直接アプリが動く

Home 画面のアイコンはアプリではなくショートカットです。
アプリの他にも自由にウィジェットを配置することが可能です。

時計、スケジューラや着信メールの表示、音楽プレイヤーや設定変更ボタンなど、
さまざまなウィジェットを配置できます。
直接アプリケーションの画面を貼り付けているような感覚です。
メリットはアプリを起動したり画面を切り替える必要が無いということ。

モバイル OS のアプリはどれも全画面動作で、複数の情報を同時に見ることが
できません。
この点 Android のウィジェットは、任意の情報を選んでタイル状に並べて見ることが
可能となります。
ウィジェットによる自由なカスタマイズは Android の大きな魅力の一つです。

●バッテリーが減りやすい

普段プレイヤーとして使っていますが、特に音楽再生時のバッテリー寿命に
大きな開きがあります。

                   音楽再生 映像再生
----------------------------------------------
HTC Desire X06HT :  15時間   6時間半
iPhone 3GS :        30時間   10時間
iPhone 4 :          40時間   10時間

  ・参考にしたページ: iPhone 4/3GS , HTC Desire

上の数値は再生条件が同一でないかもしれませんが、実際に使ってみた印象もほぼ同じです。
iPod phone である iPhone にとって、音楽再生は重要な要素。
バッテリー寿命をのばすため専用のハードウエアを搭載しているのかもしれません。

X06HT はバッテリーが劣化してもすぐ交換できるのがメリットなので、残容量を
気にせずに充電して使うことにしています。

●マナーモード

サイドのボタンは音量スイッチのみで、iPhone のようなマナーモード切り替え
スイッチはありません。
そのかわり通常状態で音量を一番下まで下げるとマナーモードになります。

●輝度の自動調整

センサーを使った明るさの自動調整を有効にするとバー消えて全くいじれなくなります。
iPhone では自動調整+手動で基準位置を変えられるため、環境光で明るさが変わりつつ
暗めの設定にすることもできました。

結局輝度の自動調整はあきらめて、Home 画面に明るさを変えられるウィジェットを
配置して手動で切り替えています。

●オプティカルジョイスティック

ハードキーの真ん中に配置されている光学センサーのカーソルキーです。
触れなくても動くので、誤動作が困る場合は小さいシールを穴をふさぐように貼れば
反応しなくなります。

慣れたら特に困る誤動作は無くなったし、たまにカーソルキーを活用するように
なりました。

主に使うところ

・検索ヒストリの選択と再編集時

 マーケット内でのアプリ検索など、一度検索したキーワードを編集して再検索する
 ことができます。タッチだと同じキーワードのまま即座に検索してしまいます。
 カーソルキーを使ってヒストリ選択すると再編集可能となります。

・文字変換時

 文節伸縮がカーソル左右に割り当てられています。

・メニュー選択

 細かいメニュー選択でタッチしづらい場合、オプティカルジョイスティックを使った
 方が確実に選べることがあります。

●まとめ (追記)

X06HT を使っていてわかった点がひとつ。
前回も書きましたが、反応が良くて動作が速ければ細かい点はどうでも
よくなるということ。
実際使ってかなり気に入っており、非常に使いがいのある端末だと感じました。

関連エントリ
X06HT HTC Desire

X06HT HTC Desire

発売日 27日に買ってきました。Android 端末。

HTC X06HT

予約を入れたのが 4/1 で、当日の受け渡しで混雑するからって店の方から時間帯
指定がありました。午前中に割り当ててもらったので余裕だと思っていたら
サーバーにかなり負荷がかかっていたらしく店頭の端末でエラーの連続。
人気があったのかどうかわかりませんが周りの席でも同じようにサーバーの
エラーが出てたようです。

パッケージは iPhone 3GS と同じくらい小さな箱。
中の端末もほとんど同じくらいの大きさでわずかに薄くなっています。
大きさも重さもほぼ一緒なのに、持った感じの印象はかなり違います。
しっとりとしたつや消しのボディは過去に使ってきた HTC 端末の作りと同じもの。
つるつるの iPhone 3GS や iPod touch よりソフトな触り心地です。

上部の電源ボタンにサイドの音量キーなど、スマートフォンとしてはスタンダードな
配列です。唯一違うのは本体下部のボタン群。
特にセンターについてるオプティカル式のコントローラは特徴的です。
NetWalker のポインティングデバイスと同じようなものですが、マニュアルでは
「オプティカルジョイスティック」という名称になってました。
カーソルキーのような使い方と、ボタンとして押し込みができます。
反応も良く使いやすそうなのですが、タッチ画面だけで十分なのでまだあまり
出番がありません。

静電容量式タッチパネルは反応がよく、動作も軽快で非常に高速です。
抵抗膜式だった WindowsMobile の端末と比べると操作ミスのストレスを全く感じ
ないし、本気の Android の良さが実感できました。

最初はやはり、これまで使ってきた iPhone との細かな違いが気になります。
操作や機能に粗が見え隠れするし、買ってすぐ馴染める使いやすさや操作してる
人に対する気の遣い方は iPhone の方が上です。
自分が iPhone 3GS に慣れすぎていたせいもあるかもしれません。

ところが X06HT の場合、あまりに高速で気持ちよく動くのでそのような粗や欠点が
どうでも良くなります。パワーがあるならこれはこれで良いんだと思わせる説得力が
ありました。

使い出して二日目の現在、これをメイン機にしつつあります。
MMS がまだ無いことと、iPhone と容易に SIM 交換できないので当分 2台持ち
ですがカスタマイズ出来るところも多く、目新しいこともあって楽しめそうです。
画面解像度も高いし、画面の回転を禁止できるのも良い点です。

気になったのは本体の容量。
アプリケーションをいろいろダウンロードしていると容量がすぐに無くなります。
データ自体は micro SD カード上に作られるらしく圧迫することが無いのですが、
SD にたっぷり空きがあるのに容量を気にしなければならないのは残念なところです。

当日に早速あったアップデート、更新が始まってそのままにしていたら
起動時の Softbank ロゴで固まってました。放置しても全然進まなかったので
諦めて電池を抜いたら無事起動。再更新がかかって大丈夫でした。

TouchDiamond S21HT で Android 2.1

久しぶりに TouchDiamond S21HT に Android を入れてみました。
タッチパネルやボタンの違いもあり操作に慣れる必要があります。
メモリ容量のせいか待たされることも多いけど、このままデフォルトにしても
良いんじゃないかと錯覚するくらい機能的な完成度が上がっていました。

android_s21ht_01.jpg

参考にさせていただいたページはこちら。
すべて最新のファイルを入れてみました。

いいかも おぼえがき Android S21HT
PCで立体視してみるぶろぐ S21HT:Androidが楽しすぎる件について

●前知識

TouchDiamond S21HT は HTC 製の WindowsMobile 携帯です。
HTC の WindowsMobile 端末は別の OS を走らせることができるようです。
上の紹介ページの手順に従うと Android 携帯相当として動作するようになります。
Ubuntu が動く端末もあるようです。

重要な点は、Android を走らせても中に入っている WindowsMobile (WindowsCE)
には影響が無く消さなくても良いということ。
好きなときに Android を boot できるし内蔵フラッシュに共存しています。
インストールも WindowsMobile のアプリケーションと全く同じ感覚で入れられます。

もちろん保証された動作ではないので自己責任で使う必要があります。
中に入った重要なデータは事前にバックアップを取っておくなど、徹底した自己防衛が
必須でしょう。あまり使わなくなった予備機を実験に使うくらいの気持ちで。

SIM 無しで使っているので 3G 回線接続は試していません。

●インストール先

TouchDiamond S21HT は SD カードスロットが無い代わりに、内蔵のフラッシュメモリが
強化されています。

・デバイスメモリ 256MB (ユーザーエリア 90MB くらい)
・内部ストレージ 4GB

デバイスメモリは WindowsMobile が使う本来の領域で OS もこちらに入っています。
内部ストレージは SD カードの代わり。Android は内部ストレージ側に入れます。
特にパーティションを切ったり難しい手順はなく、必要なファイルを置くだけです。

●インストール方法補足

こちらを参考にしています。

1. XDANDROID.* が本体で、展開したファイルをすべて内部ストレージにコピーします。
2. STARTUP.TXT を置き換えます。S21HT (TouchDiamond) の場合
  \内部ストレージ\STARTUP CONFIG\DIAMOND\STARTUP.TXT
  \内部ストレージ の直下にコピー。
3. コピーして置き換えた STARTUP.TXT を修正します。
  zImage と initrd が存在しないファイル名になっているので、正しいファイル名に
  書き換えます。

カーネル(zImage)、rootfs.img、initrd.gz はそれぞれ新しいバージョンに差し替え
られるようです。リネームして元のファイルを置き換えるか STARTUP.TXT を修正します。

●起動と終了方法

\内部ストレージ\haret.exe を実行します。

かなり時間がかかるので気長に待ちます。
消費電力も大きいので電源(mini USB)は接続状態にしておくことをお勧めします。

初回起動時は Linux のブート画面でタッチパネル補正がありました。
田の字型の白い箱が出るので順番にタッチしていきます。

終了は終話ボタンの長押しで、表示されるメニューから電源切断を選びます。
ただし TouchDiamond (S21HT) はボタンの上下が逆になっていて、右下の [←]キー
が終話ボタンです。(後述)

電源切断を選ぶと再び WindowsMobile が起動します。

●ボタン操作の注意点

ボタンの配置が異なっています。海外版 Diamond の写真を見ると S21HT はボタンの
上段と下段が逆になっているようです。

   [HOME]         [ ← ]
         カーソル
   [発話]         [終話]

ボタンに軽く触れると反応しているボタンの LED が点灯するので、慣れるまで注意して
見た方が良いかもしれません。

画面のタッチパネルと違い、ボタンエリアは静電容量式のセンサーが併用されています。
一見物理ボタンに見えますが、識別するには押し込むときに指が触れていなければ
なりません。

タッチパネルは感圧式(抵抗膜式)なので、スタイラスや軽く爪を立てる感じで操作した方が
操作しやすくなっています。ところがボタン側は逆。スタイラスや長い爪で押しても反応
しないので要注意です。同時に複数の場所に手が当たっている場合もうまく反応しません。

 ・画面のタッチパネルは軽く爪を立てる感じで
 ・ボタンは指で触れたまま押し込む (2箇所以上同時に触れない)

●使い方その他

・メニューを開くには左上の [HOME] ボタン (S21HT だと発話の受話器マーク)
・前の画面に戻るには右上の [←] ボタン (S21HT だと終話の受話器マーク)

UI の反応はワンテンポ以上遅れることが多いので、iPhone/iPod touch のつもりで
操作すると戸惑います。とりあえず Setting でいろいろ設定することができます。
無線LAN も問題なく繋がりました。

Android Market にもアクセス可能で無料アプリケーションのダウンロードができます。
Google のアカウントの同期もできました。

初期状態ではアプリケーションがほとんど入っていないので、Android Market から
ダウンロードすることになります。ダウンロード中はインストールが完了するまで
他の操作をしない方が良いでしょう。
固まったように反応しなくなることがありますが遅いだけなので、何もせずに待って
いると始まります。

たまに「エラー: ~は応答していません。」とダイアログが出ることがあります。
これも遅いだけなので [強制終了] ではなく [待機] を選んだ方が良いようです。
スリープからの復帰後にもよくでます。

使っているうちに動作が重くなってくることがあります。
一度起動したアプリケーションは裏で動作しているので、起動中のタスクをすべて
終了すると元に戻ります。Adnvanced Task Killer でたまに全削除しています。

電力の消費がかなり大きいようで、特に何もしてなくても本体が温かくなります。
CPU も常にフル稼働しているようです。
USB ケーブルで電源供給してもバッテリー残量が全く増えないので、供給と消費が
拮抗しているのでしょう。電源なしの一晩放置だと確実にバッテリーが空でした。
(もしくは電源切断されて WindowsMobile に戻っています)

android_s21ht_00.jpg

●使ってみて

以前試した時とは比べ物にならず、かなりよく動いています。
3D を使ったゲームアプリを走らせてみても意外なほどスムーズに動いていました。
ここまで 3D が動くとは思いませんでした。

ただ UI 操作は引っ掛かりが多くてよく待たされます。いろいろ考えられる原因はあります。
例えば TouchDiamond S21HT は実質 RAM 128MB(104MB) であること。swap が
作られているらしく、起動アプリケーションが多いと遅くなる原因となっているようです。
画面解像度も 640×480 VGA 相当で、同じチップを使っている HT-03A よりも負担に
なっているのかもしれません。

このあたりの操作感に慣れれば、Android Market には豊富なアプリケーションが並んでいるし
Android の雰囲気を十分味わうことが出来そうです。
でもやっぱりなめらかに動く Android 端末も欲しくなります。

関連エントリ
携帯電話 Android