コード例 #1
0
ファイル: MoviesProvider.java プロジェクト: josepul/PopMovies
  private Cursor getReviewsByMovieId(Uri uri, String[] projection, String sortOrder) {
    String movieId = MoviesContract.ReviewEntry.getMovieIdFromUri(uri);

    String[] selectionArgs = new String[] {movieId};
    String selection = sMovieSelection;

    return sReviewByMovieIdQueryBuilder.query(
        moviesDbHelper.getReadableDatabase(),
        projection,
        selection,
        selectionArgs,
        null,
        null,
        sortOrder);
  }
コード例 #2
0
ファイル: MoviesProvider.java プロジェクト: josepul/PopMovies
  @Nullable
  @Override
  public Uri insert(Uri uri, ContentValues values) {
    final SQLiteDatabase db = moviesDbHelper.getWritableDatabase();
    final int match = sUriMatcher.match(uri);
    Uri returnUri;

    switch (match) {
      case MOVIE:
        {
          long _id = db.insert(MoviesContract.MovieEntry.TABLE_NAME, null, values);
          if (_id > 0) {
            returnUri = MoviesContract.MovieEntry.buildMovieUri(_id);
          } else {
            throw new SQLException("Failed to insert row into " + uri);
          }
          break;
        }
      case REVIEW:
        {
          long _id = db.insert(MoviesContract.ReviewEntry.TABLE_NAME, null, values);
          if (_id > 0) {
            returnUri = MoviesContract.ReviewEntry.buildReviewUri(_id);
          } else {
            throw new SQLException("Failed to insert row into " + uri);
          }
          break;
        }
      case TRAILER:
        {
          long _id = db.insert(MoviesContract.TrailerEntry.TABLE_NAME, null, values);
          if (_id > 0) {
            returnUri = MoviesContract.TrailerEntry.buildTrailerUri(_id);
          } else {
            throw new SQLException("Failed to insert row into " + uri);
          }
          break;
        }
      default:
        throw new UnsupportedOperationException("Unknown uri: " + uri);
    }
    getContext().getContentResolver().notifyChange(uri, null);
    return returnUri;
  }
コード例 #3
0
ファイル: MoviesProvider.java プロジェクト: josepul/PopMovies
  @Nullable
  @Override
  public Cursor query(
      Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
    Cursor retCursor;
    switch (sUriMatcher.match(uri)) {
      case MOVIE:
        {
          retCursor =
              moviesDbHelper
                  .getReadableDatabase()
                  .query(
                      MoviesContract.MovieEntry.TABLE_NAME,
                      projection,
                      selection,
                      selectionArgs,
                      null,
                      null,
                      sortOrder);
          break;
        }
      case MOVIE_WITH_ID:
        {
          String movieId = MoviesContract.ReviewEntry.getMovieIdFromUri(uri);

          selectionArgs = new String[] {movieId};
          selection = sMovieSelection;
          retCursor =
              moviesDbHelper
                  .getReadableDatabase()
                  .query(
                      MoviesContract.MovieEntry.TABLE_NAME,
                      projection,
                      selection,
                      selectionArgs,
                      null,
                      null,
                      sortOrder);
          break;
        }
      case TRAILER:
        {
          retCursor = getTrailersByMovieId(uri, projection, sortOrder);
          break;
        }
      case REVIEW:
        {
          retCursor = getReviewsByMovieId(uri, projection, sortOrder);
          break;
        }
      case REVIEW_WITH_ID:
        {
          String movieId = MoviesContract.ReviewEntry.getMovieIdFromUri(uri);
          retCursor =
              sReviewByMovieIdQueryBuilder.query(
                  moviesDbHelper.getReadableDatabase(),
                  projection,
                  sMovieSelection,
                  new String[] {movieId},
                  null,
                  null,
                  sortOrder);
          break;
        }
      case TRAILER_WITH_ID:
        {
          String movieId = MoviesContract.TrailerEntry.getMovieIdFromUri(uri);
          retCursor =
              sTrailerByMovieIdQueryBuilder.query(
                  moviesDbHelper.getReadableDatabase(),
                  projection,
                  sMovieSelection,
                  new String[] {movieId},
                  null,
                  null,
                  sortOrder);
          break;
        }
      default:
        throw new UnsupportedOperationException("Unknown uri: " + uri);
    }
    retCursor.setNotificationUri(getContext().getContentResolver(), uri);
    return retCursor;
  }