0

2.2 を対象としたいくつかのアプリケーションを作成しました。

これらを試すために安価なハンドセットに投資することを考えています(これまではエミュレーターのみを使用していました)。私が欲しい携帯電話は Android のバージョン 2.1 を実行しています。

コードの観点から、2.1 と 2.2 の間に問題を引き起こす可能性のある大きな変更はありますか?

1.x ハンドセット (People/ContractsContact など) に展開しようとすると問題が発生することは理解していますが、2.2 アプリが 2.1 環境で失敗するということは何もわかりません。

(エミュレーターのターゲットを変更することもできますが、実際のハンドセットを使用している他のユーザーから知りたいです)

ありがとう

4

3 に答える 3

2

役に立つかもしれないページは次のとおりです: http://developer.android.com/sdk/api_diff/8/changes.html

差分リストに使用されているすべてのパッケージとメソッドをクロスチェックできます。

Juhani が言ったように、アプリが新しい API のいずれかを使用している場合、それは問題が発生する可能性が高いことを意味します。

于 2010-10-08T16:09:15.913 に答える
1

2.2 で提供される新しい API が必要ない場合は、アプリを 2.1 にターゲットするだけでかまいません。そうすれば、2.1 と 2.2 で動作することを確認できます。一方、いくつかの新しい API が必要な場合、2.1 では正しく動作しません。

ここで 2.2 の新機能を確認できます: http://developer.android.com/sdk/android-2.2.html

于 2010-10-08T12:16:10.537 に答える
0

互換性を保証するには、ターゲットバージョンを2.1に設定し、再コンパイルして何が失敗するかを確認する必要があります。2.2のみのAPIを使用している場合、これはそれが何であるかを示します。次に、本当に使用したい場合は、ターゲットバージョンを2.2にリセットし、2.1で「メソッドが見つかりません」のフォールバック動作をコーディングできます。

文書化されたAPI以外では、ほとんどの開発者にとって最大の違いは、一般的であるがサポートされていないインターフェースを使用している開発者にあります。カレンダーを呼び出そうとすると、古いインテント「com.android.calendar/com.android.calendar.LaunchActivity」が「com.google.android.calendar/com」に置き換えられたため、カレンダーが機能しなくなることがわかります。 .android.calendar.LaunchActivity」。(これはストックAndroid用です。さまざまな電話/ハードウェアベンダーが、他の代替アプリ/インテントを持っています。

もちろん、これは、文書化されていない、サポートされていないインターフェイスを使用している場合にのみ問題になります。ただし、これはおそらく「フローズンヨーグルトによって壊された」アプリの最大のソースでした。

于 2010-10-08T17:18:48.900 に答える