Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Defining and Launching the Query 定義和啟動查詢

Defining and Launching the Query 定義和啟動查詢

編輯:關於Android編程

To perform a query, create the CursorLoader, set up its query, and pass it to the loader framework. From then on, the framework manages everything. It runs the query on a background thread, returns the results to the foreground, and watches for changes to the data associated with the query. http://blog.csdn.net/sergeycao

Pass a CursorLoader to the loader framework in your implementation ofonCreateLoader(). The loader framework calls this method when youcreate a loader by calling initLoader(). You can create aCursorLoader anywhere, but the preferred way is to create it inonCreateLoader(), because this defers creation until the object is actually needed.

Notice that initLoader() will only onCreateLoader() if theCursorLoader doesn't already exist; otherwise, it re-uses the existingCursorLoader. The loader framework tracks CursorLoader instance using theid value passed to initLoader().

Define and Launch the Query
To create a CursorLoader and define its query at the same time, call the constructorCursorLoader(context, uri, projection, selection, selectionArgs, sortOrder). Thecontext and uri arguments are required, but the others are optional. To use the default value for an optional argument, pass innull. The CursorLoader runs the query against theContentProvider identified by uri, just as if you had calledContentResolver.query() with the same arguments.

For example:

public Loader<Cursor> onCreateLoader(int loaderID, Bundle bundle)
{
    /*
     * Takes action based on the ID of the Loader that's being created
     */
    switch (loaderID) {
        case URL_LOADER:
            /*
             * Return a new CursorLoader
             */
            return new CursorLoader(
                this,                           // Context
                DataProviderContract.IMAGE_URI, // Provider's content URI
                PROJECTION,                     // Columns to return
                null,                           // Return all rows
                null,                           // No search arguments
                null);                          // Default search order
        default:
            // An invalid id was passed in
            return null;
    }
}

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved