2011-07-02 17 views
1

私はハニカムと通常の携帯電話用に開発したい場合は、2つのアプリではなく1つのアプリとしてパッケージ化することになっていることに気付きました異なる目標を持つHoneycomb ActionBar&Phone App

私は2.1(SDKレベル7)のターゲットでEclipseで新しいプロジェクトを開始し、古い(Honeycomb指向プロジェクト)から新しい(電話+タブレット指向)プロジェクトにJava、XMLなどのリソースをコピーしました。

私はActionBarコードで、特に私が主なアクティビティに行くようにアプリアイコンを設定したところでうまくいくまでうまくいっていました。何らかの理由でこれが好きではありません。

両方のプラットフォームで1つのアプリを作成するにはどうすればよいですか?私はそれがレイアウトの2つのバージョンとJavaでの少数の微妙な調整と同じくらい単純であると思った。

答えて

0

新しい(電話+タブレット向け)プロジェクトを見て、問題の原因になっていたものがないかどうかを確認しました。

androidmanifest.xmlには、間違ったtargetsdkとminsdkレベルがありました。

私は正しいものにそれらを変更しました:

<uses-sdk 
    android:minSdkVersion="7" 
    android:targetSdkVersion="11" /> 

この変更は、問題を修正しました。助けてくれてありがとう。

1

ActionBarを最初にアプリをさらにバージョンで実行したい場合は、ActionBarは、(特定のコードを実行しかつ)が利用可能であるかどうかを確認する必要がありますアンドロイド3.0

に導入され、そうでない場合にはました別の解決策を考えなければなりません(おそらく自分の実装です)。

Build.VERSIONあなたのアプリが実行されているAndroidのバージョンを特定するために使用できます。

+0

特に、Honeycomb上でのみロードするクラスへのHoneycomb固有のコード参照を分離する必要があります。そうしないと、実行時に 'VerifyError'クラッシュが発生します。以下は、アクションバーにカスタム 'View'を置くためのサンプルプロジェクトです:https://github.com/commonsguy/cw-android/tree/master/Menus/ActionBarBC – CommonsWare

2

私が今までに見つけた最良の例は、Google IO 2011スケジュールです。これは、http://code.google.com/p/iosched/で自由に入手できます。このプロジェクトは、この目的のために特別に作られたものです.1 apkは電話に適したバージョンのアプリを提供し、もう1つはタブレット向けです。あなたのアプリがどのように構造化されているか、あなたの見解に応じてメジャーまたはマイナーな調整をして、アプリケーションは2つのデバイスプラットフォームのために何かをすることができます。

関連する問題