0

デバイス2.1Froyo>3.1Honeycomb用のAndroidアプリを書いています。

私がこれを行っている方法は、すべてのプラットフォーム用であり、画面サイズに基づいて異なるレイアウトを持つJavaのクラスを使用することですが、これは正しい方法ですか?

Honeycombのレイアウトを作成し、Froyo(他のデバイス)での実装とテストを開始したばかりです。FroyoまたはGingerbread(エミュレーター)で他のアクティビティを起動するには、クラッシュする必要がありますが、Honeycombでは完全に機能します。 。

クラッシュのLogCatは次のとおりです。

07-11 11:17:51.832:INFO / ActivityManager(75):表示されたcom.squirculardesign.android.pixel / .Main:+ 6s867ms(合計+ 24s424ms)

07-11 11:17:57.063:DEBUG / dalvikvm(223):GC_EXPLICITが23Kを解放、50%が2827K / 5639Kを解放、外部4681K / 5342K、72msを一時停止

07-11 11:18:21.743:DEBUG / dalvikvm(75):GC_CONCURRENTが1299Kを解放、59%が4249K / 10247Kを解放、外部3520K / 3903K、8ms+55msを一時停止

07-11 11:18:39.642:警告/ KeyCharacterMap(458):ID0のキーボードがありません

07-11 11:18:39.642:警告/ KeyCharacterMap(458):デフォルトのキーマップを使用:/system/usr/keychars/qwerty.kcm.bin

07-11 11:18:40.064:WARN / InputManagerService(75):ウィンドウはすでにフォーカスされています。フォーカスゲインは無視されます:com.android.internal.view.IInputMethodClient$Stub$Proxy@4067db20

07-11 11:18:51.223:INFO / ActivityManager(75):開始:インテント{cmp = com.squirculardesign.android.pixel / .Calculator_CaptureOriented} from pid 458

07-11 11:18:51.543:INFO / dalvikvm(75):Jit:JitTableのサイズを1024から2048に変更

07-11 11:18:51.623:INFO / dalvikvm(458):メソッドcom.squirculardesign.android.pixel.Calculator_CaptureOriented.onStartから参照されるメソッドcom.squirculardesign.android.pixel.Calculator_CaptureOriented.getActionBarが見つかりませんでした

07-11 11:18:51.643:警告/ dalvikvm(458):VFY:仮想メソッドを解決できません77:Lcom / squirculardesign / android / pixel / Calculator_CaptureOriented; .getActionBar()Landroid / app / ActionBar;

07-11 11:18:51.643:DEBUG / dalvikvm(458):VFY:0x0003でオペコード0x6eを置き換えます

07-11 11:18:51.643:DEBUG / dalvikvm(458):VFY:Lcom / squirculardesign / android / pixel / Calculator_CaptureOriented; .onStart()Vのデッドコード0x0006-000b

07-11 11:18:51.773:警告/ ResourceType(458):パッケージ0の0x7f030002(t = 2 e = 2)のエントリの取得に失敗しました(エラー-75)

07-11 11:19:01.282:警告/ ActivityManager(75):HistoryRecordのアクティビティアイドルタイムアウト{40554050 com.squirculardesign.android.pixel / .Calculator_CaptureOriented}

07-11 11:19:22.253:DEBUG / dalvikvm(153):GC_CONCURRENTが503Kを解放、52%が解放された2973K / 6151K、外部1625K / 2137K、一時停止7ms + 5ms

07-11 11:20:23.573:DEBUG / SntpClient(75):要求時間が失敗しました:java.net.SocketException:アドレスファミリがプロトコルでサポートされていません

07-11 11:25:23.583:DEBUG / SntpClient(75):要求時間が失敗しました:java.net.SocketException:アドレスファミリがプロトコルでサポートされていません

それはActionBarと関係があると思います(よくわかりません)。誰かが問題が何であるか、そしてそれを修正する方法を指摘できますか?

助けてくれてありがとう、そして素晴らしい一日を。

4

2 に答える 2

4

このActivity.getActionBarメソッドはHoneycombの前には存在しません。ただし、より一般的には、Honeycomb以前のデバイスにはアクションバーにある機能が存在しないため、それらの機能を複製する必要があります。

于 2011-07-11T01:52:04.723 に答える
2

ほとんどの場合、Honeycombに固有のAPIを使用していて、Froyoでは機能しません。FroyoとHoneycombの両方をターゲットにする場合は、最も低いAPI(つまり、Froyo)から始めることをお勧めします。

私がこれを行っている方法は、すべてのプラットフォーム用であり、画面サイズに基づいて異なるレイアウトを持つJavaのクラスを使用することですが、これは正しい方法ですか?

はい、それは正しい方法です(正確には異なる解像度)。サポートしているAndroidのすべてのレベルと互換性のあるAPIを使用していることを確認してください。

最後に、ログにはエラーは表示されません。ERRORその中にあるものやスタックトレースを探します。

于 2011-07-11T01:49:27.343 に答える