私は混乱していて、あなたの助けが必要です。Google IO 2010 で行われた Virgil Dobjanschi の講義「Android REST クライアント アプリケーションの開発」での指示に従おうとしましたが、残念ながら、コンテンツ プロバイダーとカーソル アダプターの間の有効な通信を実装する方法が見つかりません。
私がここで抱えている問題はカーソル アダプターに関連しているため、コンテンツ プロバイダーですべて問題ないと仮定しましょう。たとえば、自分の代わりに Contacts ContentProvider を使用してみましょう。私は最も簡単な解決策を試しました-任意のContentProvider(想定どおり、SDKによって提供される連絡先)とSimpleCursorAdapterです。問題は、連絡先からのカーソルを含む SimpleCursorAdapter のコンストラクターが非推奨であることです。ドキュメンテーションは言う:
このコンストラクターは非推奨です。
このオプションは、アプリケーションの UI スレッドでカーソル クエリが実行されるため、応答が遅くなったり、アプリケーションが応答しないというエラーが発生したりする可能性があるため、お勧めできません。別の方法として、LoaderManager を CursorLoader とともに使用します。
私の考えは次のとおりです。そこで、LoaderManager のドキュメント サイトにアクセスして、使用例と見つけたものを見つけました。SimpleCursorAdapter コンストラクターを使用した完璧な例です。はい、廃止されたので避けたかったのと同じです。
// Create an empty adapter we will use to display the loaded data.
mAdapter = new SimpleCursorAdapter(getActivity(),
android.R.layout.simple_list_item_2, null,
new String[] { Contacts.DISPLAY_NAME, Contacts.CONTACT_STATUS },
new int[] { android.R.id.text1, android.R.id.text2 }, 0);
setListAdapter(mAdapter);
私が見つけることができるすべてのチュートリアルは、この非推奨のコンストラクターを使用しています。これを避けるための適切な方法は何ですか?それとも私が気にしすぎなのかな?私が欲しかったのは、良い習慣を学ぶことだけでした...