Android Loaders
6367 ワード
3.0からAndroidはloadersをサポートし、loadersはデータの非同期ロードとデータソースの変化を監視する能力を提供します.
loaders #の使用
初期化Loader #
コールバックオブジェクトを実装する必要があります.
onCreateLoader()メソッド.ここでは新しいloaderを作成する必要があります.
onLoadFinished()メソッド、onLoadReset()メソッド、
このloaderのidがすでに他のloaderで使用されている場合、前のloaderは再利用されます.
このloaderのidが新しい場合、コールバックオブジェクトのonCreateLoader()が呼び出されます.
LoaderManagerはloaderのライフサイクルを管理するので、loaderを作成したらを管理する必要はありません.
Loader #を再起動
既存のloaderのデータを破棄する必要がある場合は、loaderを再起動できます.
Loader #の作成
通常、onCreateLoader()メソッドでLoaderを作成します.一般的なAndroidで作成されるのはCursorLoaderのみで、CursorLoaderはContentProviderから返されたcursorを問い合わせることでデータソースを提供します.
応答onLoadFinishedおよびonLoadResetメソッド#
onLoadFinishedはloaderがデータをロードした後に呼び出され、この方法はloaderが最後にロードしたデータが解放される前に呼び出されることを保証する(This method is guaranteed to be called prior to the release of the last data that was supplied for this loader)onLoadResetこのメソッドの呼び出しは、loaderが再初期化する前にloadのデータがを使用していなかったことを示しています.
カスタムLoader #
AndroidはCursorLoaderの具体的なLoaderを提供しているだけで、AsyncTaskLoaderまたはLoaderを継承してカスタムLoaderを実現することもできます.AsyncTaskLoaderは、他のスレッドにデータをロードする機能を提供しており、拡張性が優れています.参照AsyncTaskLoader
参照#
Loaders guider
Loader
loaders #の使用
初期化Loader #
getLoaderManager().initLoader( /*loader id*/0,
/* loader */null,
/*LoaderManager.LoaderCallbacks*/this);
コールバックオブジェクトを実装する必要があります.
onCreateLoader()メソッド.ここでは新しいloaderを作成する必要があります.
onLoadFinished()メソッド、onLoadReset()メソッド、
このloaderのidがすでに他のloaderで使用されている場合、前のloaderは再利用されます.
このloaderのidが新しい場合、コールバックオブジェクトのonCreateLoader()が呼び出されます.
LoaderManagerはloaderのライフサイクルを管理するので、loaderを作成したらを管理する必要はありません.
Loader #を再起動
既存のloaderのデータを破棄する必要がある場合は、loaderを再起動できます.
getLoaderManager().restartLoader(0, null, this);
Loader #の作成
通常、onCreateLoader()メソッドでLoaderを作成します.一般的なAndroidで作成されるのはCursorLoaderのみで、CursorLoaderはContentProviderから返されたcursorを問い合わせることでデータソースを提供します.
応答onLoadFinishedおよびonLoadResetメソッド#
onLoadFinishedはloaderがデータをロードした後に呼び出され、この方法はloaderが最後にロードしたデータが解放される前に呼び出されることを保証する(This method is guaranteed to be called prior to the release of the last data that was supplied for this loader)onLoadResetこのメソッドの呼び出しは、loaderが再初期化する前にloadのデータがを使用していなかったことを示しています.
カスタムLoader #
AndroidはCursorLoaderの具体的なLoaderを提供しているだけで、AsyncTaskLoaderまたはLoaderを継承してカスタムLoaderを実現することもできます.AsyncTaskLoaderは、他のスレッドにデータをロードする機能を提供しており、拡張性が優れています.参照AsyncTaskLoader
参照#
Loaders guider
Loader