0

私が読んでいることと、minSDK レベルを 4 に設定したときに発生しているエラーに少し向きを変えています。プラットフォームの新しいバージョンが生成されると、以前のバージョンとの下位互換性があると思われるでしょう。 ; したがって、SDK 17 でソフトウェアを作成した場合、その機能を使用すると、4 などの以前のバージョンを使用するデバイスでも機能します。しかし、そうではないようです。Android OS のバージョン 2.3.6 を実行している携帯電話を購入したので、開発中のソフトウェアが、新しい OS だけでなく、このデバイスや他の古いデバイスでも動作することを確認したいと思います。ただし、下位互換性は保証されていないようです。それで、新しいデバイス用に開発するだけですか、または、新しい環境で書いたものがデバイス上で機能することを保証する方法はありますか? サポート ライブラリを使用しようとしていますが、新しいバージョンのすべての API が含まれていないようです。必要な API を何らかの方法でサポート ライブラリにインポートすることはできますか? もしそうなら、それについての記事を教えてもらえますか?

アクティビティとフラグメントの両方を使用して、アクション バーにタブを持つアプリを作成しようとしていますが、「SDK の最小レベルは 4 です。13 にする必要があります」などのバージョンの不一致エラーが発生し続けます。

アプリを新しいデバイスで動作させることができると確信していますが、すべての潜在的なユーザーが新しい電話を持っているわけではないと確信しています. そこで、進行中の問題を回避するための洞察を求めています。

あなたの洞察に感謝します。

ありがとう

4

2 に答える 2

3

プラットフォームの新しいバージョンが生成されると、以前のバージョンとの下位互換性があると考えるでしょう。SDK 17 でソフトウェアを作成した場合、その機能を使用すると、4 などの以前のバージョンを使用するデバイスでも機能します。

API レベル 4 に存在していた機能は通常、API レベル 17 に存在し、それらの機能をサポートするコードは一般に後方互換性があります。

ただし、新しいバージョンの Android には追加機能があります。これらは必ずしも下位互換性があるとは限りません。定義上、それらはより新しく追加されているためです。

それで、新しいデバイス用に開発するだけですか、それとも、新しい環境で書いたものが、たくさんのフープを飛び越えなくてもデバイスで確実に動作するようにする方法はありますか?

古いデバイスでも新しいデバイスでも動作するアプリを確実に開発できます。古いデバイスと新しいデバイスに存在する API は、通常は問題なく使用できます。新しいデバイスにのみ存在する API は、古いデバイスでそれらの機能を使用しないように注意する必要があります。Build.VERSION.SDK_INTこれを行うには、古いデバイスで新しい API を調べてスキップするなど、さまざまな手法があります。

「たくさんのフープを飛び越える」という標準的な定義はないため、自分で決める必要があります。下位互換性のある UI の開発に関するこの議論のように、下位互換性のあるアプリケーションを構築する方法についてかなりの量のドキュメントがあるため、ドキュメントを読むことができる必要があります。後方互換性開発の特定の側面をカバーするブログ投稿なども多数あり、お気に入りの検索エンジンから入手できます。

サポート ライブラリを使用しようとしていますが、新しいバージョンのすべての API が含まれていないようです

それは想定されておらず、それがあると宣伝されていません。一部のバックポートがありますが、すべてではありません。部分的には、それは単にエンジニアリング時間の問題です。一部には、単にフレームワーク クラスではなく、OS のコアの変更であるため、バックポートできないものがあるためです。

アクティビティとフラグメントの両方を使用して、アクション バーにタブを持つアプリを作成しようとしていますが、「SDK の最小レベルは 4 です。13 にする必要があります」などのバージョンの不一致エラーが発生し続けます。

abbath が指摘したように、アクション バーは Android サポート パッケージの一部ではありませんが、ActionBarSherlockがその役割を果たします。同様のバックポートは、Android サポート パッケージにない他のものにも利用でき、 AndroidViews.netなどのサイトで見つけることができます。

于 2013-03-08T22:46:33.110 に答える
2

ActionBarはそれほど前に導入されていないため、使用するにはAPIレベル13が必要です。

タブ付きのActionBarを使用したいが、より低いSDKバージョン用に開発したい場合は、ActionBarSherlockなどの互換性ライブラリを使用してみてください。

于 2013-03-08T22:25:50.730 に答える