ABC2011s レポート 1

Android Bazzar and Conference 2011 Summer に参加してきました。
有名どころの人は終わった後に裏会に行っていたり、
今日もBar Androidなどに行かれていたようですが私のようなぱんぴーは
ぐったりと寝てました。 夜まで。


最初の基調講演、丸山先生の資料は以下のトピックで
URLが公開されていますので、お見逃しなく。
https://groups.google.com/group/android-group-japan/browse_thread/thread/0b50d03b8a730a77?hl=ja


基調講演で話されたことは、基本的に現在のAndroid周りでの動きと
今回起こった震災で、携帯端末やクラウドという形でのデータバックアップの重要性について。
日本は震災、台風、民主党、隣国と大変厳しい環境にある国ですし、
同じことがまた起こらないとは絶対に言えません。 次が起こる前に次の準備が必要ですね。



講演後、13時からのカンファレンスが始まる前にバザールを覗いたんですが
死ぬほど人がいたので、ほどほどで切り上げてしまいました。
あんな狭い所に、人がゴミゴミといてはちょっと興味を持っても
話を聞くどころじゃないですよ。



取りあえず、TechBoosterのイケメン様たちを撮影させてもらいました。
ひつじさんとは全く面識も交流もなく、お昼過ぎにいらっしゃったようなので
羊狩りをすることには失敗しました。



◆ 13:00-13:40 8号館 B101
 Android3.0/3.1 HoneycombsとAPI解説
 Android Developer's Club(デ部)
 https://sites.google.com/site/androiddevelopersclub/
【発表資料】http://www.iplatform.org/blog/archives/224



駆け足で、アプリ開発者にしか分からない解説も多いと思う、という
前置きの通りにものすごい速度で全般的に解説されていったため、
ちょっと講演資料を別途上げて頂かないと理解が難しいかな、と感想。


分かったことをメモから個人的にまとめると、


HoneyCombsでは、2系と違って「System Bar」と「Action Bar」を持っている。
画面下部にあるのが「System Bar」で、
画面右上にあるのが「Action Bar」。


System Barには「戻るボタン」「ホームボタン」「最近使ったアプリのリストボタン」がある。
「最近使ったアプリのリスト」は、3.0と3.1では動作が違い
3.0では「4つ」しか履歴が出ないのに対して、3.1ではシステムが覚えている全てが表示される。


画面が広いため、Viewのドラッグ&ドロップなどをUIとして組み込むことも可能。
標準アプリも2ペイン表示や、複数タブ表示などに対応しており操作感が向上している。
また、MTP/PTPやフルキーボードに対応している。


概念としては、新しく「Fragment」という要素が追加された。
これは使いまわせるコンポーネントで、@yanzmさんによると
Activityを弁当箱とした場合に、Fragmentはカップとなるらしい。

Viewとの違いは何だろうか? ちゃんと自分で研究しないと解説出来ない。


WidgetでGridView,ListView,StackViewなどが使えるようになった。
Animationに関して、新しいフレームワークが追加された。

個人的に聞いた限りでは、Coronaのアニメーション指定方法に近いと感じる。
Cocos2dでも、指定する要素としては同じような感じかな。
どちらにしろ、聴いた限り使いやすいのは確か。


RenderScript3D Graphics Endgineが改良されたため、
端末依存が少ない上のに描画が高速化されている。
また、マルチコアにも対応したため並列処理能力がかなり優秀になっている。



◆ USB、外部デバイス
外部キーボードやポインティングデバイスのサポートが行われるように。
USB または Bluetooth HID 経由で
・外部キーボードやマウスの接続が出来るようになった。
・接続するだけで、ほとんどの機器はすぐに使えるようになる。
・USBハブを使えば複数の機器を同時に使うことも可能。

ゲーム用のHID対応が大幅強化されているため、
キー設定の行えるアプリケーションであれば、普通に繋ぐことが出来る。


実装を行う場合、Activity に GenericMotionEventが追加されているのでこれを利用。
一定期間の入力が一気に渡されるので、履歴を気にしながらのコーディングが必要。


今までのAndroidはDevice側だったが、3.1からはHost側になれるようになった。
NFCのラベルプリンターや、LEDディスプレーに図形を表示するなどを行うことができる。
(Device側と言うのは、たとえばPC接続時にストレージとして認識される、など)


MTP(メディア転送プロトコル)
PCとデジカメや音楽プレイヤーとのデータ交換に用いられるクラスが追加されている。
これはメーカー間をまたいだ共通の仕様であり、デジカメからデータを取得する場合、
クラス6を対象にするなどの分岐で対応する。(端末で判別は無理)

実装する場合、オブジェクト取得には時間がかかるので、UIスレッドでは使わないこと。
(別スレッドを作り、そこで取得を行うこと)





だいたい拾ったところはこのあたりでした。
APIの詳細などはさすがに拾えない。


かなり高性能化しているようなので、Tab向けのアプリを作ったりするのは
面白そうなんだけど会社としては利益が見込めないので難しいだろうな。
両対応についても趣味の領域を出ない気がする。


ただ、こういった研究を行っておくことが後々に繋がることは否定できないので
良さそうなTablet端末が出たら入手は検討すべきかも。



もしかしたら、数年先には普段はスマートフォンサイズで広げたらTabletサイズになる、
みたいな端末が出てくるかもしれないしね。
そうすると両方に対して対応が必要になってくるし。
(折りたたみ可能なディスプレイが最近発表されてましたし。)