- Androidにレベル9のアプリがありますが、同じプロジェクトでレベル11(Android 3.0)の新機能を使用できるかどうか知りたいですか?
- 3.0タブレットバージョンの場合、私のレイアウトにはフラグメントが含まれます。これらのフラグメントを使用して、レベル9バージョンを正常にビルドおよび実行できるようにするにはどうすればよいですか?
- (res / layoutで)異なるAPIレベルに異なるレイアウトを定義できますか?
- タブレット用と電話用の2つのバージョンを保持している場合、同じパッケージ名でandroid-marketplaceに追加できますか?
2 に答える
Androidにレベル9のアプリがありますが、同じプロジェクトでレベル11(Android 3.0)の新機能を使用できるかどうか知りたいですか?
はい、ウィリス氏が提案したように、リフレクションまたは条件付きクラスローディングを介して。これは、APIレベル11の新機能である、アクションバーでこれを示すサンプルアプリケーションです。
3.0タブレットバージョンの場合、私のレイアウトにはフラグメントが含まれます。これらのフラグメントを使用して、レベル9バージョンを正常にビルドおよび実行できるようにするにはどうすればよいですか?
Android互換ライブラリを使用します。
(res / layoutで)異なるAPIレベルに異なるレイアウトを定義できますか?
はい、-vNN
リソースセットのサフィックスを使用します(例:)res/layout-v11
。ただし、これを最小限に抑えるようにしてください。
タブレット用と電話用の2つのバージョンを保持している場合、同じパッケージ名でandroid-marketplaceに追加できますか?
いいえ。
この質問と回答は役に立ちそうです。
公式ドキュメントでは、アプリケーションの後方互換性に関するソリューションも取り上げています。
試してください: http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html
リフレクションを使用することをお勧めします。これにより、実行時にクラスとメソッドの存在をプログラムで検索できます。
レイアウトに関しては、Supporting Multiple Screen Sizesを確認してみてください。など、さまざまなレイアウト サイズがありlayout-xlarge
ます。
タブレット用と携帯電話用の 2 つのバージョンを保持している場合、同じパッケージ名で android-marketplace に追加できますか?
2 つの異なるアプリに同じパッケージ名を使用することはできません。
使用している API のバージョンによってコードがかなり異なる場合は、コードをフォークし、後でユーザー ベースのほとんどが必要な API レベルにアップグレードされたと確信できるときに、再度マージすることをお勧めします。