5

アプリケーションで両方の Android マップ API をサポートする最良の方法は何ですか?

Googleは Android の Google マップ API v2をリリースしましたが、v1はまだ存在しています (古い携帯電話ではうまく機能します)。

これまでのところ、2 つのシナリオが表示されます。

1) 2 つの apk : API ごとに 1 つの apk

で利用可能な複数の apk 機能を使用できますgoogle play

  • で区別するにはどうすればよいgoogle playですか?OpenGL のサポートについて ?

このシナリオは、プロジェクトをビルドするたびに、いくつかのファイルをコピーして貼り付け、他のファイルを更新する必要があることを意味しますが、これは面倒です。

カスタマイズされたビルド プロセスを使用しない限り (ant または maven を使用)。

  • その問題に関する推奨事項はありますか?

2) 1 つの APK

これは、ファイルに両方if/elseの API の宣言を含むステートメントを使用して実現できます。manifest

  • 誰もこれを試したことがありますか?

注 : 古い携帯電話用の Google マップ

まず、新しい v2 API はベクトル ベースであり、CPU/GPU に負荷がかかります (v1 API はビットマップ タイルを使用していました)。

次に、新しい v2 API には opengl 2.0 が必要です。これは、以降のすべての Android デバイスでサポートされていると言われていますfroyo残念ながらこれは真実ではありません

たとえば、Gingerbread を (カスタム ROM で) 実行する由緒ある HTC マジックは、opengl 2.0 をサポートするために Google Play/Market によって認識されません。

そして、もしかしたらもっとあるかもしれません...

4

2 に答える 2

1

OpenGL 2.0の要件は、サポートの観点からのものです。たとえば、Google Maps AndroidAPIv2はHTCWildfireで正常に動作していることがわかりました。

あなたの質問への短い答え:それをしないでください。1つ選んで、それに固執します。

中程度の答え:それをしないでください。1つ選んで、それに固執します。古い機能のいくつかが本当に必要で、新しいv2 APIでそれらを再作成できない場合は、v1を使用する必要があることを示しています。

あなたが心配している古い2.1デバイスがほんの少ししかない場合-心配しないでください、セキュリティ上の欠陥があるので、人々は2.1をもう使うべきではありません、あなたはそれをサポートしないことによって公共サービスを行っています(ユーザーに彼らの更新を勧めます電話...環境にやさしい観点からは少し悲しいですが、メーカーや通信事業者はすでにその問題を強制しているので、それをあなたのものにしないでください!)

気になる非openGL2.0デバイスがいくつかある場合は、機能要件を省略してください。ただし、将来的にいくつかのクレイジーな問題が発生するリスクがあります。おそらく、非openGL2.0デバイスで問題が発生する可能性があることを明確に警告するのが最善です。

本当に、本当に両方のバージョンをサポートする必要がある場合は、それを実行してください。「ベストプラクティス」リストが作成されるのと同じことをするほど夢中になっている人は多くありません。ただし、v1 API MapFragmentソリューションの1つを使用することをお勧めします。たまたま、私は1つ作成しました:https ://github.com/coreform/android-tandemactivities

于 2012-12-22T02:49:52.563 に答える