@Override public Cursor query( Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { Cursor retCursor; switch (sUriMatcher.match(uri)) { // All Flavors selected case FAVORITE_MOVIE: { retCursor = mOpenHelper .getReadableDatabase() .query( FavoriteMoviesContract.FavoriteMovieEntry.TABLE_FAVORITE_MOVIES, projection, selection, selectionArgs, null, null, sortOrder); return retCursor; } // Individual flavor based on Id selected case FAVORITE_MOVIE_WITH_ID: { retCursor = mOpenHelper .getReadableDatabase() .query( FavoriteMoviesContract.FavoriteMovieEntry.TABLE_FAVORITE_MOVIES, projection, FavoriteMoviesContract.FavoriteMovieEntry._ID + " = ?", new String[] {String.valueOf(ContentUris.parseId(uri))}, null, null, sortOrder); return retCursor; } default: { // By default, we assume a bad URI throw new UnsupportedOperationException("Unknown uri: " + uri); } } }