类android.support.v4.content.CursorLoader源码实例Demo

下面列出了怎么用android.support.v4.content.CursorLoader的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: zom-android-matrix   文件: ContactsListFragment.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    StringBuilder buf = new StringBuilder();

    if (mSearchString != null) {
        buf.append('(');
        buf.append(Imps.Contacts.NICKNAME);
        buf.append(" LIKE ");
        DatabaseUtils.appendValueToSql(buf, "%" + mSearchString + "%");
        buf.append(" OR ");
        buf.append(Imps.Contacts.USERNAME);
        buf.append(" LIKE ");
        DatabaseUtils.appendValueToSql(buf, "%" + mSearchString + "%");
        buf.append(')');
        buf.append(" AND ");
    }

    buf.append(Imps.Contacts.TYPE).append('=').append(mType);
 //   buf.append(" ) GROUP BY(" + Imps.Contacts.USERNAME);

    CursorLoader loader = new CursorLoader(getActivity(), mUri, ContactListItem.CONTACT_PROJECTION,
            buf == null ? null : buf.toString(), null, Imps.Contacts.SUB_AND_ALPHA_SORT_ORDER);

    return loader;
}
 
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    StringBuilder buf = new StringBuilder();

    if (mSearchString != null) {

        buf.append(Imps.Contacts.NICKNAME);
        buf.append(" LIKE ");
        DatabaseUtils.appendValueToSql(buf, "%" + mSearchString + "%");
        buf.append(" OR ");
        buf.append(Imps.Contacts.USERNAME);
        buf.append(" LIKE ");
        DatabaseUtils.appendValueToSql(buf, "%" + mSearchString + "%");
    }

    CursorLoader loader = new CursorLoader(getContext(), mUri, ContactListItem.CONTACT_PROJECTION,
            buf == null ? null : buf.toString(), null, Imps.Contacts.DEFAULT_SORT_ORDER);
                
    //     loader.setUpdateThrottle(10L);
    return loader;
}
 
源代码3 项目: android   文件: RecentFragment.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle bundle) {

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this.getActivity());
    String sortOrder = prefs.getString(Config.SORT_ORDER_RECENT, Config.SORT_RECENT_DEFAULT);

    String[] projection = {
            RecentTable.COLUMN_TITLE,
            RecentTable.COLUMN_LINK,
            RecentTable.COLUMN_IMAGE,
            RecentTable.COLUMN_ID,
            RecentTable.COLUMN_TYPE,
            RecentTable.COLUMN_NUM_SEASONS,
            RecentTable.COLUMN_SEASON,
            RecentTable.COLUMN_EPISODE,
            RecentTable.COLUMN_NUM_EPISODES,
            RecentTable.COLUMN_RATING};

    return new CursorLoader(this.getActivity(),
            RecentContentProvider.CONTENT_URI, projection, null, null, sortOrder);
}
 
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    if (null != dict_Id) {
        switch (id) {
            case DETAIL_LOADER:

                return new CursorLoader(getActivity(), null, Constants.DICT_COLUMNS, null, null, null) {
                    @Override
                    public Cursor loadInBackground() {
                        return db.getDictCursorById(Integer.parseInt(dict_Id));
                    }
                };
            default: //do nothing
                break;
        }
    }
    return null;
}
 
@NonNull
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
  // Extract the search query from the Intent.
  String query = getIntent().getStringExtra(SearchManager.QUERY);

  // Construct the new query in the form of a Cursor Loader.
  String[] projection = {
    HoardDB.HoardContract.KEY_ID,
    HoardDB.HoardContract.KEY_GOLD_HOARD_NAME_COLUMN,
    HoardDB.HoardContract.KEY_GOLD_HOARDED_COLUMN
  };

  String where = HoardDB.HoardContract.KEY_GOLD_HOARD_NAME_COLUMN
                   + " LIKE ?";
  String[] whereArgs = {"%" + query + "%"};
  String sortOrder = HoardDB.HoardContract.KEY_GOLD_HOARD_NAME_COLUMN +
                       " COLLATE LOCALIZED ASC";

  // Create the new Cursor loader.
  return new CursorLoader(this, MyHoardContentProvider.CONTENT_URI,
    projection, where, whereArgs, sortOrder);
}
 
@NonNull
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
  // Construct the new query in the form of a Cursor Loader. Use the id
  // parameter to construct and return different loaders.
  String[] projection = null;
  String where = null;
  String[] whereArgs = null;
  String sortOrder = null;

  // Query URI
  Uri queryUri = MyHoardContentProvider.CONTENT_URI;

  // Create the new Cursor loader.
  return new CursorLoader(this, queryUri, projection,
    where, whereArgs, sortOrder);
}
 
源代码7 项目: android-galaxyzoo   文件: ListFragment.java
@Override
public Loader<Cursor> onCreateLoader(final int loaderId, final Bundle bundle) {
    if (loaderId != URL_LOADER) {
        return null;
    }

    final Activity activity = getActivity();

    final Uri uriItems = Item.ITEMS_URI;

    return new CursorLoader(
            activity,
            uriItems,
            mColumns,
            null, // No where clause, return all records.
            null, // No where clause, therefore no where column values.
            null // Use the default sort order.
    );
}
 
源代码8 项目: android-dev-challenge   文件: DetailActivity.java
/**
 * Creates and returns a CursorLoader that loads the data for our URI and stores it in a Cursor.
 *
 * @param loaderId The loader ID for which we need to create a loader
 * @param loaderArgs Any arguments supplied by the caller
 *
 * @return A new Loader instance that is ready to start loading.
 */
@Override
public Loader<Cursor> onCreateLoader(int loaderId, Bundle loaderArgs) {

    switch (loaderId) {

        case ID_DETAIL_LOADER:

            return new CursorLoader(this,
                    mUri,
                    WEATHER_DETAIL_PROJECTION,
                    null,
                    null,
                    null);

        default:
            throw new RuntimeException("Loader Not Implemented: " + loaderId);
    }
}
 
源代码9 项目: android-dev-challenge   文件: DetailActivity.java
/**
     * Creates and returns a CursorLoader that loads the data for our URI and stores it in a Cursor.
     *
     * @param loaderId   The loader ID for which we need to create a loader
     * @param loaderArgs Any arguments supplied by the caller
     * @return A new Loader instance that is ready to start loading.
     */
    @Override
    public Loader<Cursor> onCreateLoader(int loaderId, Bundle loaderArgs) {

        switch (loaderId) {

//          COMPLETED (23) If the loader requested is our detail loader, return the appropriate CursorLoader
            case ID_DETAIL_LOADER:

                return new CursorLoader(this,
                        mUri,
                        WEATHER_DETAIL_PROJECTION,
                        null,
                        null,
                        null);

            default:
                throw new RuntimeException("Loader Not Implemented: " + loaderId);
        }
    }
 
源代码10 项目: android-dev-challenge   文件: DetailActivity.java
/**
 * Creates and returns a CursorLoader that loads the data for our URI and stores it in a Cursor.
 *
 * @param loaderId The loader ID for which we need to create a loader
 * @param loaderArgs Any arguments supplied by the caller
 *
 * @return A new Loader instance that is ready to start loading.
 */
@Override
public Loader<Cursor> onCreateLoader(int loaderId, Bundle loaderArgs) {

    switch (loaderId) {

        case ID_DETAIL_LOADER:

            return new CursorLoader(this,
                    mUri,
                    WEATHER_DETAIL_PROJECTION,
                    null,
                    null,
                    null);

        default:
            throw new RuntimeException("Loader Not Implemented: " + loaderId);
    }
}
 
源代码11 项目: android-dev-challenge   文件: DetailActivity.java
/**
 * Creates and returns a CursorLoader that loads the data for our URI and stores it in a Cursor.
 *
 * @param loaderId The loader ID for which we need to create a loader
 * @param loaderArgs Any arguments supplied by the caller
 *
 * @return A new Loader instance that is ready to start loading.
 */
@Override
public Loader<Cursor> onCreateLoader(int loaderId, Bundle loaderArgs) {

    switch (loaderId) {

        case ID_DETAIL_LOADER:

            return new CursorLoader(this,
                    mUri,
                    WEATHER_DETAIL_PROJECTION,
                    null,
                    null,
                    null);

        default:
            throw new RuntimeException("Loader Not Implemented: " + loaderId);
    }
}
 
@Override
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:
        // Returns a new CursorLoader
        return new CursorLoader(
                    getActivity(),                                     // Context
                    DataProviderContract.PICTUREURL_TABLE_CONTENTURI,  // Table to query
                    PROJECTION,                                        // Projection to return
                    null,                                              // No selection clause
                    null,                                              // No selection arguments
                    null                                               // Default sort order
        );
        default:
            // An invalid id was passed in
            return null;

    }
    
}
 
源代码13 项目: Android-ImageManager   文件: Utils.java
/**
 * Gets the corresponding path to a file from the given content:// URI
 * <p>
 * This must run on the main thread
 * 
 * @param context
 * @param uri
 * @return the file path as a string
 */
public static String getContentPathFromUri(final Context context, final Uri uri) {
    Cursor cursor = null;
    String contentPath = null;
    try {
        final String[] proj = { MediaStore.Images.Media.DATA };
        final CursorLoader loader = new CursorLoader(context, uri, proj, null, null, null);
        cursor = loader.loadInBackground();
        final int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        contentPath = cursor.getString(columnIndex);
    } catch (final Exception e) {
        Log.w(TAG, "getContentPathFromURI(" + uri.toString() + "): " + e.getMessage());
    } finally {
        if (cursor != null)
            cursor.close();
    }

    return contentPath != null ? contentPath : "";

}
 
源代码14 项目: android-dev-challenge   文件: DetailActivity.java
/**
 * Creates and returns a CursorLoader that loads the data for our URI and stores it in a Cursor.
 *
 * @param loaderId The loader ID for which we need to create a loader
 * @param loaderArgs Any arguments supplied by the caller
 *
 * @return A new Loader instance that is ready to start loading.
 */
@Override
public Loader<Cursor> onCreateLoader(int loaderId, Bundle loaderArgs) {

    switch (loaderId) {

        case ID_DETAIL_LOADER:

            return new CursorLoader(this,
                    mUri,
                    WEATHER_DETAIL_PROJECTION,
                    null,
                    null,
                    null);

        default:
            throw new RuntimeException("Loader Not Implemented: " + loaderId);
    }
}
 
源代码15 项目: Zom-Android-XMPP   文件: ContactsListFragment.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    StringBuilder buf = new StringBuilder();

    if (mSearchString != null) {
        buf.append('(');
        buf.append(Imps.Contacts.NICKNAME);
        buf.append(" LIKE ");
        DatabaseUtils.appendValueToSql(buf, "%" + mSearchString + "%");
        buf.append(" OR ");
        buf.append(Imps.Contacts.USERNAME);
        buf.append(" LIKE ");
        DatabaseUtils.appendValueToSql(buf, "%" + mSearchString + "%");
        buf.append(')');
        buf.append(" AND ");
    }

    buf.append(Imps.Contacts.TYPE).append('=').append(mType);
 //   buf.append(" ) GROUP BY(" + Imps.Contacts.USERNAME);

    CursorLoader loader = new CursorLoader(getActivity(), mUri, ContactListItem.CONTACT_PROJECTION,
            buf == null ? null : buf.toString(), null, Imps.Contacts.SUB_AND_ALPHA_SORT_ORDER);

    return loader;
}
 
源代码16 项目: android-dev-challenge   文件: DetailActivity.java
/**
 * Creates and returns a CursorLoader that loads the data for our URI and stores it in a Cursor.
 *
 * @param loaderId The loader ID for which we need to create a loader
 * @param loaderArgs Any arguments supplied by the caller
 *
 * @return A new Loader instance that is ready to start loading.
 */
@Override
public Loader<Cursor> onCreateLoader(int loaderId, Bundle loaderArgs) {

    switch (loaderId) {

        case ID_DETAIL_LOADER:

            return new CursorLoader(this,
                    mUri,
                    WEATHER_DETAIL_PROJECTION,
                    null,
                    null,
                    null);

        default:
            throw new RuntimeException("Loader Not Implemented: " + loaderId);
    }
}
 
源代码17 项目: android-dev-challenge   文件: DetailActivity.java
/**
 * Creates and returns a CursorLoader that loads the data for our URI and stores it in a Cursor.
 *
 * @param loaderId The loader ID for which we need to create a loader
 * @param loaderArgs Any arguments supplied by the caller
 *
 * @return A new Loader instance that is ready to start loading.
 */
@Override
public Loader<Cursor> onCreateLoader(int loaderId, Bundle loaderArgs) {

    switch (loaderId) {

        case ID_DETAIL_LOADER:

            return new CursorLoader(this,
                    mUri,
                    WEATHER_DETAIL_PROJECTION,
                    null,
                    null,
                    null);

        default:
            throw new RuntimeException("Loader Not Implemented: " + loaderId);
    }
}
 
源代码18 项目: Zom-Android-XMPP   文件: ContactListFilterView.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    StringBuilder buf = new StringBuilder();

    if (mSearchString != null) {

        buf.append(Imps.Contacts.NICKNAME);
        buf.append(" LIKE ");
        DatabaseUtils.appendValueToSql(buf, "%" + mSearchString + "%");
        buf.append(" OR ");
        buf.append(Imps.Contacts.USERNAME);
        buf.append(" LIKE ");
        DatabaseUtils.appendValueToSql(buf, "%" + mSearchString + "%");
    }

    CursorLoader loader = new CursorLoader(getContext(), mUri, ContactListItem.CONTACT_PROJECTION,
            buf == null ? null : buf.toString(), null, Imps.Contacts.DEFAULT_SORT_ORDER);
                
    //     loader.setUpdateThrottle(10L);
    return loader;
}
 
public static String getPathForUri(Context context, Uri uri) {
    CursorLoader cursorLoader = new CursorLoader(
            context, uri, new String[]{MediaStore.Files.FileColumns.DATA},
            null, null, null);

    try {
        final Cursor cursor = cursorLoader.loadInBackground();

        if (cursor != null && cursor.getCount() > 0) {
            cursor.moveToFirst();
            return cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.DATA));
        }
        return null;
    } catch (SecurityException e) {
        Toast.makeText(context, "Permission Error", Toast.LENGTH_SHORT).show();
        return null;
    }
}
 
源代码20 项目: V.FlyoutTest   文件: LoaderRetainedSupport.java
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    // This is called when a new Loader needs to be created.  This
    // sample only has one Loader, so we don't care about the ID.
    // First, pick the base URI to use depending on whether we are
    // currently filtering.
    Uri baseUri;
    if (mCurFilter != null) {
        baseUri = Uri.withAppendedPath(People.CONTENT_FILTER_URI, Uri.encode(mCurFilter));
    } else {
        baseUri = People.CONTENT_URI;
    }

    // Now create and return a CursorLoader that will take care of
    // creating a Cursor for the data being displayed.
    String select = "((" + People.DISPLAY_NAME + " NOTNULL) AND ("
            + People.DISPLAY_NAME + " != '' ))";
    return new CursorLoader(getActivity(), baseUri,
            CONTACTS_SUMMARY_PROJECTION, select, null,
            People.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
}
 
源代码21 项目: ImageSelector   文件: ImgSelFragment.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    if (id == LOADER_ALL) {
        return new CursorLoader(getActivity(),
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_PROJECTION,
                null, null, MediaStore.Images.Media.DATE_ADDED + " DESC");
    } else if (id == LOADER_CATEGORY) {
        return new CursorLoader(getActivity(),
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_PROJECTION,
                IMAGE_PROJECTION[0] + " not like '%.gif%'", null, MediaStore.Images.Media.DATE_ADDED + " DESC");
    }
    return null;
}
 
@Override
public Observable<List<Item>> getCommentsForStoryObservable(Item item) {
    CursorLoader cursorLoader = new CursorLoader(mContext, HackerNewsData.Items.CONTENT_URI, null,
            HackerNewsData.Items.Selection.COMMENTS_FOR_STORY,
            HackerNewsData.Items.Selection.getCommentsForStoryArgs(item.getId()),
            HackerNewsData.Items.SortOrder.SCORE_DESC_SORT_ORDER);
    return Observable.create(new LoaderInitializingOnSubscribe<>(COMMENT_LOADER, mLoaderManager, cursorLoader, mDataConverter));
}
 
源代码23 项目: juicessh-auditlog   文件: AuditListLoader.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle bundle) {
    return new CursorLoader(
            context,
            PluginContract.PluginLog.CONTENT_URI,
            PluginContract.PluginLog.PROJECTION,
            null,
            null,
            PluginContract.PluginLog.SORT_ORDER_DEFAULT
    );

}
 
/**
 * Instantiate and return a new Loader for the given ID.
 *
 * @param id The ID whose loader is to be created.
 * @param args Any arguments supplied by the caller.
 * @return Return a new Loader instance that is ready to start loading.
 */
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    return new CursorLoader(mContext,
            mUri,
            mProjection,
            mSelection,
            mSelectionArgs,
            mSortOrder
    );
}
 
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    if (!mProgressBar.isShown()) {
        mProgressBar.setVisibility(View.VISIBLE);
    }
    String[] projection = args.getStringArray(RecordsActivity.args.projection.name());
    String selection = args.getString(RecordsActivity.args.selection.name());
    String[] selectionArgs = args.getStringArray(RecordsActivity.args.selectionArguments.name());
    String sort = mPreferenceHelper.getSortSelection()
            + mPreferenceHelper.getSortArrange();
    int limit = args.getInt(RecordsActivity.args.limit.name());
    int offset = args.getInt(RecordsActivity.args.offset.name());

    switch (id) {
        case 0:
            Uri uri = RecordDbContract.CONTENT_URL
                    .buildUpon()
                    .appendQueryParameter(RecordsContentProvider.QUERY_PARAMETER_LIMIT,
                            String.valueOf(limit))
                    .appendQueryParameter(RecordsContentProvider.QUERY_PARAMETER_OFFSET,
                            String.valueOf(offset))
                    .build();
            return new CursorLoader(this, uri, projection, selection, selectionArgs, sort);

        default:
            throw new IllegalArgumentException("no loader id handled!");
    }
}
 
源代码26 项目: fdroidclient   文件: SelectAppsView.java
@Override
public CursorLoader onCreateLoader(int id, Bundle args) {
    Uri uri;
    if (TextUtils.isEmpty(currentFilterString)) {
        uri = InstalledAppProvider.getContentUri();
    } else {
        uri = InstalledAppProvider.getSearchUri(currentFilterString);
    }
    return new CursorLoader(getActivity(), uri, null, null, null, null);
}
 
源代码27 项目: effective_android_sample   文件: MainActivity.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    return new CursorLoader(this,
            ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
            CONTACT_PROJECTION,
            null,
            null,
            null);
}
 
源代码28 项目: AndroidDownload   文件: EssAlbumLoader.java
public static CursorLoader newInstance(Context context) {
    String selection;
    String[] selectionArgs;
    if (SelectOptions.getInstance().onlyShowImages) {
        selection = SELECTION_FOR_SINGLE_MEDIA_TYPE;
        selectionArgs = getSelectionArgsForSingleMediaType(MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE);
    } else if (SelectOptions.getInstance().onlyShowVideos) {
        selection = SELECTION_FOR_SINGLE_MEDIA_TYPE;
        selectionArgs = getSelectionArgsForSingleMediaType(MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO);
    } else {
        selection = SELECTION;
        selectionArgs = SELECTION_ARGS;
    }
    return new EssAlbumLoader(context, selection, selectionArgs);
}
 
源代码29 项目: AlbumCameraRecorder   文件: AlbumLoader.java
public static CursorLoader newInstance(Context context) {
    String selection;
    String[] selectionArgs;
    if (AlbumSpec.getInstance().onlyShowImages()) {
        selection = SELECTION_FOR_SINGLE_MEDIA_TYPE;
        selectionArgs = getSelectionArgsForSingleMediaType(MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE);
    } else if (AlbumSpec.getInstance().onlyShowVideos()) {
        selection = SELECTION_FOR_SINGLE_MEDIA_TYPE;
        selectionArgs = getSelectionArgsForSingleMediaType(MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO);
    } else {
        selection = SELECTION;
        selectionArgs = SELECTION_ARGS;
    }
    return new AlbumLoader(context, selection, selectionArgs);
}
 
源代码30 项目: RememBirthday   文件: AbstractLoader.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    return new CursorLoader(
            context,
            uri,
            projection,
            selection,
            selectionArgs,
            sortOrder
    );
}