Example usage for android.support.v4.content CursorLoader CursorLoader

List of usage examples for android.support.v4.content CursorLoader CursorLoader

Introduction

In this page you can find the example usage for android.support.v4.content CursorLoader CursorLoader.

Prototype

public CursorLoader(Context context, Uri uri, String[] projection, String selection, String[] selectionArgs,
        String sortOrder) 

Source Link

Document

Creates a fully-specified CursorLoader.

Usage

From source file:co.nerdart.ourss.activity.MainActivity.java

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    CursorLoader cursorLoader = new CursorLoader(this, EntryColumns.CONTENT_URI, new String[] { "COUNT(*)" },
            EntryColumns.WHERE_UNREAD, null, null);
    cursorLoader.setUpdateThrottle(Constants.UPDATE_THROTTLE_DELAY);
    return cursorLoader;
}

From source file:com.glandorf1.joe.wsprnetviewer.app.DetailFragment.java

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    String sortOrder = "_id";

    mGridsquare = Utility.getPreferredGridsquare(getActivity());
    Uri wsprForGridsquareUri = WsprNetContract.SignalReportEntry.buildWsprUri(Long.parseLong(mDetailsKeyStr));

    // Now create and return a CursorLoader that will take care of
    // creating a Cursor for the data being displayed.
    return new CursorLoader(getActivity(), wsprForGridsquareUri, WSPR_COLUMNS, null, null, sortOrder);
}

From source file:com.creationgroundmedia.popularmovies.MovieListActivity.java

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    switch (id) {
    case URL_LOADER:
        return new CursorLoader(this, // context
                MoviesContract.MovieEntry.CONTENT_URI, // Table to query
                PROJECTION, // Projection to return
                mSelectFavorites, // Favorites only per user's choice
                null, // No selection arguments
                sortOrder // Default sort order
        );/*from  w  ww . j  a v a 2s  . co m*/
    default:
        // An invalid id was passed in
        return null;
    }
}

From source file:com.gdgdevfest.android.apps.devfestbcn.ui.SessionsFragment.java

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle data) {
    final Intent intent = BaseActivity.fragmentArgumentsToIntent(data);
    Uri sessionsUri = intent.getData();/*from w  w  w .j  a v a  2  s .co  m*/
    if (sessionsUri == null) {
        sessionsUri = ScheduleContract.Sessions.CONTENT_URI;
    }
    Loader<Cursor> loader = null;
    String liveStreamedOnlySelection = UIUtils.shouldShowLiveSessionsOnly(getActivity())
            ? "IFNULL(" + ScheduleContract.Sessions.SESSION_LIVESTREAM_URL + ",'')!=''"
            : null;
    if (id == SessionsQuery._TOKEN) {
        loader = new CursorLoader(getActivity(), sessionsUri, SessionsQuery.PROJECTION,
                liveStreamedOnlySelection, null, ScheduleContract.Sessions.DEFAULT_SORT);
    } else if (id == SearchQuery._TOKEN) {
        loader = new CursorLoader(getActivity(), sessionsUri, SearchQuery.PROJECTION, liveStreamedOnlySelection,
                null, ScheduleContract.Sessions.DEFAULT_SORT);
    }
    return loader;
}

From source file:com.jaspersoft.android.jaspermobile.activities.favorites.fragment.FavoritesFragment.java

@Override
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
    StringBuilder selection = new StringBuilder("");
    ArrayList<String> selectionArgs = new ArrayList<String>();

    //Add server profile id and username to WHERE params
    selection.append(FavoritesTable.ACCOUNT_NAME + " =?");
    selectionArgs.add(mProfile.getKey());

    //Add filtration to WHERE params
    selection.append(" AND (");

    Iterator<String> iterator = favoritesResourceFilter.getCurrent().getValues().iterator();
    while (iterator.hasNext()) {
        selection.append(FavoritesTable.WSTYPE + " =?");
        selectionArgs.add(iterator.next());
        if (iterator.hasNext()) {
            selection.append(" OR ");
        }/*from  ww  w  . j  a  v  a  2s  .  c  om*/
    }

    selection.append(")");

    //Add sorting type to WHERE params
    String sortOrderString;
    if (sortOptions.getOrder() != null
            && sortOptions.getOrder().getValue().equals(SortOrder.CREATION_DATE.getValue())) {
        sortOrderString = FavoritesTable.CREATION_TIME + " ASC";
    } else {
        sortOrderString = FavoritesTable.TITLE + " COLLATE NOCASE ASC";
    }

    //Add search query to WHERE params
    boolean inSearchMode = searchQuery != null;
    if (inSearchMode) {
        selection.append(" AND ").append(FavoritesTable.TITLE + " LIKE ?");
        selectionArgs.add("%" + searchQuery + "%");
    }

    StringBuilder sortOrderBuilder = new StringBuilder("");
    sortOrderBuilder.append("CASE WHEN ").append(FavoritesTable.WSTYPE).append(" LIKE ")
            .append("'%" + ResourceType.folder + "%'").append(" THEN 1 ELSE 2 END").append(", ")
            .append(sortOrderString);

    return new CursorLoader(getActivity(), JasperMobileDbProvider.FAVORITES_CONTENT_URI,
            FavoritesTable.ALL_COLUMNS, selection.toString(),
            selectionArgs.toArray(new String[selectionArgs.size()]), sortOrderBuilder.toString());
}

From source file:com.kyakujin.android.tagnotepad.ui.TagListFragment.java

@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
    return new CursorLoader(getActivity(), Tags.CONTENT_URI, TagsQuery.PROJECTION, null, null, Tags.TAGNAME);
}

From source file:cn.studyjams.s2.sj0132.bowenyan.mygirlfriend.nononsenseapps.notepad.ui.common.NavigationDrawerFragment.java

/**
 * 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.
 *//*ww  w.  j a va 2  s  .  c o m*/
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    // Normal lists
    switch (id) {
    case LOADER_NAVDRAWER_LISTS:
        return new CursorLoader(getContext(), TaskList.URI_WITH_COUNT,
                new String[] { TaskList.Columns._ID, TaskList.Columns.TITLE, TaskList.Columns.VIEW_COUNT },
                null, null, getResources().getString(R.string.const_as_alphabetic, TaskList.Columns.TITLE));
    default:
        return null;
    }
}

From source file:cn.studyjams.s2.sj0132.bowenyan.mygirlfriend.nononsenseapps.notepad.ui.widget.ListWidgetConfig.java

@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
void setupPreview() {
    final WidgetPrefs widgetPrefs = new WidgetPrefs(this, appWidgetId);

    mNotesAdapter = new SimpleWidgetPreviewAdapter(this, R.layout.widgetlist_item, R.layout.widgetlist_header,
            null,/*from   w w w .j  av  a  2 s. c o m*/
            new String[] { Task.Columns.TITLE, Task.Columns.DUE, Task.Columns.COMPLETED, Task.Columns.COMPLETED,
                    Task.Columns.COMPLETED },
            new int[] { android.R.id.text1, R.id.dueDate, R.id.completedCheckBoxDark, R.id.itemSpacer,
                    R.id.completedCheckBoxLight },
            0);
    mNotesAdapter.setViewBinder(new ViewBinder() {
        final WidgetPrefs widgetPrefs = new WidgetPrefs(ListWidgetConfig.this, appWidgetId);
        boolean isHeader = false;
        String sTemp = "";
        final SimpleDateFormat weekdayFormatter = TimeFormatter.getLocalFormatterWeekday(ListWidgetConfig.this);
        final SimpleDateFormat dateFormatter = TimeFormatter.getLocalFormatterMicro(ListWidgetConfig.this);

        @Override
        public boolean setViewValue(View view, Cursor c, int colIndex) {
            // Check for headers, they have invalid ids
            isHeader = c.getLong(0) == -1;
            switch (colIndex) {
            case 1:
                if (isHeader) {
                    sTemp = c.getString(1);

                    if (Task.HEADER_KEY_OVERDUE.equals(sTemp)) {
                        sTemp = getString(R.string.date_header_overdue);
                    } else if (Task.HEADER_KEY_TODAY.equals(sTemp)) {
                        sTemp = getString(R.string.date_header_today);
                    } else if (Task.HEADER_KEY_PLUS1.equals(sTemp)) {
                        sTemp = getString(R.string.date_header_tomorrow);
                    } else if (Task.HEADER_KEY_PLUS2.equals(sTemp) || Task.HEADER_KEY_PLUS3.equals(sTemp)
                            || Task.HEADER_KEY_PLUS4.equals(sTemp)) {
                        sTemp = weekdayFormatter.format(new Date(c.getLong(4)));
                    } else if (Task.HEADER_KEY_LATER.equals(sTemp)) {
                        sTemp = getString(R.string.date_header_future);
                    } else if (Task.HEADER_KEY_NODATE.equals(sTemp)) {
                        sTemp = getString(R.string.date_header_none);
                    } else if (Task.HEADER_KEY_COMPLETE.equals(sTemp)) {
                        sTemp = getString(R.string.date_header_completed);
                    }

                    ((TextView) view).setText(sTemp);
                    // ((TextView) view).setText(TitleNoteTextView
                    // .getStyledText(sTemp, 1.3f, 1, 1));
                } else {
                    ((TextView) view).setText(
                            TitleNoteTextView.getStyledText(c.getString(1), c.getString(2), 1.0f, 1, 1));
                    final int rows = widgetPrefs.getInt(KEY_TITLEROWS, DEFAULT_ROWS);
                    ((TextView) view).setMaxLines(rows < 1 ? 1 : rows);
                }
                // Set color
                ((TextView) view).setTextColor(widgetPrefs.getInt(KEY_TEXTPRIMARY, DEFAULT_TEXTPRIMARY));
                return true;
            case 2:
                // already done.
                return true;
            case 3:
                // Complete checkbox
                boolean visible;
                if (view.getId() == R.id.completedCheckBoxLight) {
                    visible = THEME_LIGHT == widgetPrefs.getInt(KEY_THEME, DEFAULT_THEME);
                } else if (view.getId() == R.id.completedCheckBoxDark) {
                    visible = THEME_DARK == widgetPrefs.getInt(KEY_THEME, DEFAULT_THEME);
                } else {
                    // Spacer
                    visible = true;
                }
                visible &= !widgetPrefs.getBoolean(KEY_HIDDENCHECKBOX, false);
                view.setVisibility(visible ? View.VISIBLE : View.GONE);
                return true;
            case 4:
                // Date
                view.setVisibility(widgetPrefs.getBoolean(KEY_HIDDENDATE, false) ? View.GONE : View.VISIBLE);
                if (c.isNull(colIndex)) {
                    ((TextView) view).setText("");
                } else {
                    ((TextView) view).setText(dateFormatter.format(new Date(c.getLong(colIndex))));
                }
                ((TextView) view).setTextColor(widgetPrefs.getInt(KEY_TEXTPRIMARY, DEFAULT_TEXTPRIMARY));
                return true;
            default:
                return false;
            }
        }
    });

    binding.widgetPreviewWrapper.notesList.setAdapter(mNotesAdapter);

    mCallback = new LoaderCallbacks<Cursor>() {

        @Override
        public Loader<Cursor> onCreateLoader(int id, Bundle arg1) {

            if (id == 1) {
                return new CursorLoader(ListWidgetConfig.this, TaskList.URI, TaskList.Columns.FIELDS, null,
                        null, getString(R.string.const_as_alphabetic, TaskList.Columns.TITLE));
            } else {
                final Uri targetUri;

                final long listId = widgetPrefs.getLong(KEY_LIST, ALL_LISTS_ID);
                final String sortSpec;
                final String sortType = widgetPrefs.getString(KEY_SORT_TYPE,
                        getString(R.string.default_sorttype));

                if (sortType.equals(getString(R.string.const_possubsort)) && listId > 0) {
                    targetUri = Task.URI;
                    sortSpec = Task.Columns.LEFT;
                } else if (sortType.equals(getString(R.string.const_modified))) {
                    targetUri = Task.URI;
                    sortSpec = Task.Columns.UPDATED + " DESC";
                }
                // due date sorting
                else if (sortType.equals(getString(R.string.const_duedate))) {
                    targetUri = Task.URI_SECTIONED_BY_DATE;
                    sortSpec = null;
                }
                // Alphabetic
                else {
                    targetUri = Task.URI;
                    sortSpec = getString(R.string.const_as_alphabetic, Task.Columns.TITLE);
                }

                String listWhere = null;
                String[] listArg = null;
                if (listId > 0) {
                    listWhere = Task.Columns.DBLIST + " IS ? AND " + Task.Columns.COMPLETED + " IS NULL";
                    listArg = new String[] { Long.toString(listId) };
                } else {
                    listWhere = Task.Columns.COMPLETED + " IS NULL";
                    listArg = null;
                }

                return new CursorLoader(ListWidgetConfig.this, targetUri, Task.Columns.FIELDS, listWhere,
                        listArg, sortSpec);
            }
        }

        @Override
        public void onLoadFinished(Loader<Cursor> l, Cursor c) {
            if (l.getId() == 1) {
                mListAdapter.swapCursor(c);
                final int pos = getListPositionOf(mListAdapter, widgetPrefs.getLong(KEY_LIST, ALL_LISTS_ID));
                //if (c.getCount() > 0) {
                // Set current item
                binding.widgetConfWrapper.listSpinner.setSelection(pos);
                //}
            } else {
                mNotesAdapter.swapCursor(c);
            }
        }

        @Override
        public void onLoaderReset(Loader<Cursor> l) {
            if (l.getId() == 1) {
                mListAdapter.swapCursor(null);
            } else {
                mNotesAdapter.swapCursor(null);
            }
        }

    };
    getSupportLoaderManager().restartLoader(1, null, mCallback);
}

From source file:com.noshufou.android.su.AppDetailsFragment.java

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    switch (id) {
    case DETAILS_LOADER:
        return new CursorLoader(getActivity(), ContentUris.withAppendedId(Apps.CONTENT_URI, mShownIndex),
                DETAILS_PROJECTION, null, null, null);
    case LOG_LOADER:
        return new CursorLoader(getActivity(), ContentUris.withAppendedId(Logs.CONTENT_URI, mShownIndex),
                LogAdapter.PROJECTION, null, null, null);
    default:/*from ww  w .j a v a2s  . co  m*/
        throw new IllegalArgumentException("Unknown Loader: " + id);
    }
}

From source file:com.example.tony.popularmovie.DetailActivityFragment.java

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    if (null != mMovieId) {
        switch (id) {
        case DETAIL_LOADER:
            SharedPreferences settings = getActivity().getSharedPreferences(PREFS_NAME, 0);
            String sortBy = settings.getString(PREFS_NAME, "popularity.desc");

            switch (sortBy) {
            case "popularity.desc":
                return new CursorLoader(getActivity(), MovieContract.PopularEntry.CONTENT_URI, POP_COLUMNS,
                        MovieContract.PopularEntry.COLUMN_MOVIE_ID + " = ? ", new String[] { mMovieId }, null);
            case "vote_average.desc":
                return new CursorLoader(getActivity(), MovieContract.RatingEntry.CONTENT_URI, RATING_COLUMNS,
                        MovieContract.PopularEntry.COLUMN_MOVIE_ID + " = ? ", new String[] { mMovieId }, null);
            case "Favorite":
                return new CursorLoader(getActivity(), MovieContract.FavoriteEntry.CONTENT_URI,
                        FAVORITE_COLUMNS, MovieContract.PopularEntry.COLUMN_MOVIE_ID + " = ? ",
                        new String[] { mMovieId }, null);
            default:
                return null;
            }/* ww w  . j ava 2s .  c  om*/
        case TRAILER_LOADER:
            return new CursorLoader(getActivity(), MovieContract.VideoEntry.CONTENT_URI, VIDEO_COLUMNS,
                    MovieContract.VideoEntry.COLUMN_MOVIE_ID + " = ? ", new String[] { mMovieId }, null);
        default:
            return null;
        }
    }
    return null;
}