「Android デベロッパーラボ 東京 2011」に参加して、Androidタブレット向けアプリ開発方法を聞いてきました。その1とその2で内容を紹介しています。
このイベントの codelab ではスマートフォン向けアプリをタブレット向けアプリに変更する実践を行いました。さらにそれを発展させて、1apkでタブレット向けとスマートフォン向けアプリに対応させる方法を検討してみました。
codelab でスマートフォン向けアプリをタブレット向けアプリに変更して、以下のようなクラス図になりました。
1apkで両対応させるために、以下の方針でクラス設計を行います。
タブレット向けアプリ: 1 Acrivity に 複数の Fragment を割り当てる(変更なし)
スマートフォン向けアプリ: 1 Activity に 1つの Fragment を割り当てる
更新したクラス図は以下のようになる予定です。タブレット向けとスマートフォン向けのActivity が明確になるように、パッケージをそれぞれ tablet と phone を追加して、そのパッケージ内に Activity をいれました。緑色のところが今回のために追加・変更した部分です。Fragment を実装した各画面パーツはそのまま上位のパッケージのままとしました。
ここで1つ重大な課題が発生しました。1apkのため、アプリ起動時に起動した端末がタブレットかスマートフォンかを判定するロジックが必要になりました。
これについては、
Google IO 2011 のスケジュールアプリ(http://code.google.com/p/iosched/)の中で Honeycomb 3.1かつ大画面タブレット と それ以外(大半がSDK Version 10(GingerBread 2.3.3)以内でしょうが)の判定ロジックがあり、参考になります。今回はこのあり方を採用させて頂くことになると思います。
年末に出るといわれている Ice Cream Sandwich (ICS)(バージョン番号不明)ではタブレットとスマートフォンの両方に標準対応するそうで、このあたりの判定ロジックも提供されると思うので、それまではこのやり方が利用できそうです。
public static boolean isHoneycomb() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB; } public static boolean isHoneycombTablet(Context context) { return isHoneycomb() && (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE; }
クラス設計を行ったクラスの具体的な実装はまた後日紹介する予定です。
以上
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 | Bescottee – http://andbrowser.com/develop...
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 | Bescottee – http://andbrowser.com/develop...
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 – http://andbrowser.com/develop...
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 http://ff.im/-HYbIn
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 http://ff.im/-HYbIn
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 http://ff.im/-HYbIn
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 http://ff.im/-HYbIn
http://andbrowser.com/development/knowhow/186/1apk-tablet-phone-development/ 1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 | Bescottee
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 | Bescottee – http://andbrowser.com/develop...
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 | Bescottee http://goo.gl/fjVZb ★
スマフォ、タブレット判定ロジック
http://is.gd/s4u4kU
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法。
たまたま見つけた。へぇ~。
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 | Bescottee http://t.co/y14tgmb
1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 | Bescottee – http://andbrowser.com/develop...
[...] 考にさせていただきました。 1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 – Bescottee [...]