「Android デベロッパーラボ 東京 2011」に参加して、Androidタブレット向けアプリ開発方法を聞いてきました。その1では、codelab で実際に利用した資料を使って、スマートフォン向けアプリをタブレット向けアプリに変更する実践を行いました。
クラス図で全体像を把握しよう
資料だけでは全体像がわかりづらいため、トレーニングの全体像を把握するために変更前のスマートフォンアプリのクラス図と変更後のタブレット向けのクラス図を書きました。これをみてわかるように、既存のActivityはFragmentを継承したクラスに変更され、新しくActivity(NotepadActivity)(android-support-v4.jarを利用する場合はFragmentActivityを継承すること)を作成しています。
スマートフォン向けに作っていた Activity はタブレット向けアプリでは Fragment に相当していて、ListActivity は ListFragment に相当しています。
ContentProvider 関連は変更がないため、スマートフォン向けアプリで利用していたものがそのまま再利用できるということがわかります。
いままでスマートフォン向けにアプリを開発していてDBを作成していた方には朗報ですね。
今回のトレーニングでは、スマートフォン向けアプリをタブレット向けアプリに変更するというものでしたが、1つのアプリでスマートフォン向けとタブレット向けに両対応することも可能なようです。
Google IO 2011 のスケジュールアプリ(http://code.google.com/p/iosched/)はそのような作りになっています。このアプリは嬉しいことにオープンソースになっているので中身を見ることができます。
スマートフォン向けとタブレット向けの両対応しているアプリとして大変参考になります。
いきなりソースコードから見始めると全体像がつかめずわかりづらいと思います。幸運なことに全体像をつかむのに有効な資料を公開してくれている方がおられます。Iosched読書会向け資料(途中で力つきられたようで途中までの分析のようですが)で全体像を掴んでからソースコードを見ていくとよいと思います。
変更前と変更後のクラス図
■(変更前)スマートフォン向けノートパッドサンプルアプリのクラス図
■(変更後)タブレット向けノートパッドサンプルアプリのクラス図
Fragmentについては以下のサイトが役に立ちます。
Androidタブレット向けアプリ開発方法 その2 – http://andbrowser.com/develop...
Androidタブレット向けアプリ開発方法 その2 http://ff.im/-HDzPF
Androidタブレット向けアプリ開発方法 その2 http://ff.im/-HDzPF
Androidタブレット向けアプリ開発方法 その2 « Bescottee – http://andbrowser.com/develop...
Androidタブレット向けアプリ開発方法 その2 « Bescottee – http://andbrowser.com/develop...