deprecated 開発 - Android eclipse startManagingCursor推奨されていませんが、古いバージョンのAPIをサポートしたいですか。




サポート終了 開発環境 (2)

私は何かを理解しようとしています、そしてそれが何人かの人々にとって非常に基本的であると確信しています。

startManagingCursorメソッドは推奨されていないので、CursorLoaderクラスを使用するようにしてください。 しかし、それは、APIレベル11未満をサポートするアプリでもCursorLoaderクラスを使用する必要があるということですか? それとも、あなたがハニカムまでしかサポートしないつもりならば、それはcursorLoaderを使うということですか?

私はapi 4でカーソルローダークラスをインポートすることができないようですので、私はCursorLoaderの使用はAndroid 3.0+まで適用されないと思いますが、誰かが私のために確認できますか?

ありがとう


Answers

startManagingCursorメソッドは推奨されていないので、CursorLoaderクラスを使用するようにしてください。

FragmentActivityを継承したい場合は、Android SupportパッケージのLoaderフレームワーク実装を使用して、Android 1.6に戻ることができます。

とは言っても、Androidで「廃止予定」とは通常「今後もこれをサポートしますが、もっと良い解決策があると思います」という意味です。 あなたは確かにAPIレベル11+でstartManagingCursor()を使うことができます。 ただし、管理対象カーソルに関する問題(特に、メインアプリケーションスレッドでのアクティビティの再起動時にrequery()行われる)は、新旧のAndroidバージョンでは依然として発生します。

しかし、それは、APIレベル11未満をサポートするアプリでもCursorLoaderクラスを使用する必要があるということですか?

あなたは確かにできる、そして他のすべてが等しいなら、あなたはおそらくそうすべきだ。 しかし、他のすべてが等しいということはめったになく、 FragmentActivity要件はあなたにとって問題になるかもしれません。

あなたが新しいアプリケーションを開発しているのであれば、今日では最初からフラグメントについて考えているべきです。

api 4でカーソルローダークラスをインポートできないようです

LoaderのAndroidサポートパッケージの実装は、APIレベル4以上で動作します。


どのような種類のドロアブルをロードしているかに応じて、この非推奨版を適切な(そして将来の証明 )方法で処理するいくつかのオプションがあります。

A)テーマ属性を持つドロアブル

ContextCompat.getDrawable(getActivity(), R.drawable.name);

アクティビティのテーマの指示に従って、スタイル付きのDrawableを取得します。 これはおそらくあなたが必要とするものです。

B)テーマ属性のない描画可能ファイル

ResourcesCompat.getDrawable(getResources(), R.drawable.name, null);

あなたは、あなたの無地のdrawableを古い方法で得るでしょう。 注: ResourcesCompat.getDrawable()は推奨されてません。

他のテーマのテーマ属性を持つ描画可能なもの

ResourcesCompat.getDrawable(getResources(), R.drawable.name, anotherTheme);




android eclipse cursor deprecated android-cursorloader