0

簡単な例を挙げると、 String.isEmpty()は API レベル 9 で利用可能になりました。

API レベル 9 未満を対象とするアプリケーションでこのメソッドを使用したい場合、どうすればよいでしょうか?

このメソッドのソースコードを見つけてクラス/メソッドをインポートするのと同じくらい簡単ですか? - おそらく参照用に自分のパッケージ名に名前を変更しますか?

使用したい新しい API クラスの個別の jar をコンパイルできますか?

これは、選択した API に対してサポート ライブラリが行うことですか?

Android フレームワークのいくつかの基本的な基本事項を完全に誤解していませんか? 私が持っている場合は、親切にしてください。おそらく、読み物へのリンクをいくつか提供してください!

この投稿は同様の質問をしますが、答えは上記のすべてを解決するわけではありません。

よろしくお願いします。

4

1 に答える 1

2

このメソッドのソースコードを見つけてクラス/メソッドをインポートするのと同じくらい簡単ですか?-おそらく、参照用に自分のパッケージ名で名前を変更しますか?

これほど些細なことでは、実装をコピーして、独自の静的メソッドのどこかに貼り付けるだけです。String何百万ものデバイスの実装を変更する手段がないため、APIレベル8以下isEmpty()を適用する手段がありません。ただし、ソースコードに表示されている実装から借用する静的メソッドを使用してクラスをString作成することはできます。StringCompatisEmpty()

使用したい新しいAPIクラスの別のjarをコンパイルできますか?

それは「新しいAPIクラス」が何であるかに依存します。

これは、選択したAPIに対してサポートライブラリが行うことですか?

ある種。Androidサポートパッケージには、場合によっては、コードが古いデバイスで機能するように他の変更が加えられています。たとえば、フラグメントのネイティブAPIレベル11実装では、フラグメントは任意のActivity;で機能します。Androidサポートパッケージでは、フラグメントはに関連付けられていFragmentActivityます。

Androidサポートパッケージの他のコードは、パッケージやクラス名の変更を除いて、ネイティブの対応するコードの直接のクローンである可能性があります。

于 2012-11-05T18:15:26.433 に答える