Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.heryanto.moviecataloguelocalstorage.provider;
- import android.content.ContentProvider;
- import android.content.ContentValues;
- import android.content.UriMatcher;
- import android.database.Cursor;
- import android.net.Uri;
- import com.heryanto.moviecataloguelocalstorage.db.MovieHelper;
- import static com.heryanto.moviecataloguelocalstorage.db.DatabaseContract.AUTHORITY;
- import static com.heryanto.moviecataloguelocalstorage.db.DatabaseContract.MovieColumns.CONTENT_URI;
- import static com.heryanto.moviecataloguelocalstorage.db.DatabaseContract.TBMOVIE;
- public class MovieProvider extends ContentProvider {
- private static final int MOVIE = 1;
- private static final int MOVIE_ID = 2;
- private MovieHelper movieHelper;
- private static final UriMatcher sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
- static {
- sUriMatcher.addURI(AUTHORITY, TBMOVIE, MOVIE);
- sUriMatcher.addURI(AUTHORITY,
- TBMOVIE + "/#",
- MOVIE_ID);
- }
- public MovieProvider() {
- }
- @Override
- public int delete(Uri uri, String selection, String[] selectionArgs) {
- int deleted;
- switch (sUriMatcher.match(uri)) {
- case MOVIE_ID:
- deleted = movieHelper.deleteById(uri.getLastPathSegment());
- break;
- default:
- deleted = 0;
- break;
- }
- getContext().getContentResolver().notifyChange(CONTENT_URI, null);
- return deleted;
- }
- @Override
- public String getType(Uri uri) {
- // TODO: Implement this to handle requests for the MIME type of the data
- // at the given URI.
- throw new UnsupportedOperationException("Not yet implemented");
- }
- @Override
- public Uri insert(Uri uri, ContentValues values) {
- long added;
- switch (sUriMatcher.match(uri)) {
- case MOVIE:
- added = movieHelper.insert(values);
- break;
- default:
- added = 0;
- break;
- }
- getContext().getContentResolver().notifyChange(CONTENT_URI, null);
- return Uri.parse(CONTENT_URI + "/" + added);
- }
- @Override
- public boolean onCreate() {
- movieHelper = MovieHelper.getInstance(getContext());
- movieHelper.open();
- return true;
- }
- @Override
- public Cursor query(Uri uri, String[] projection, String selection,
- String[] selectionArgs, String sortOrder) {
- Cursor cursor;
- switch (sUriMatcher.match(uri)) {
- case MOVIE:
- cursor = movieHelper.queryAll();
- break;
- case MOVIE_ID:
- cursor = movieHelper.queryById(uri.getLastPathSegment());
- break;
- default:
- cursor = null;
- break;
- }
- return cursor;
- }
- @Override
- public int update(Uri uri, ContentValues values, String selection,
- String[] selectionArgs) {
- int updated;
- switch (sUriMatcher.match(uri)) {
- case MOVIE_ID:
- updated = movieHelper.update(uri.getLastPathSegment(), values);
- break;
- default:
- updated = 0;
- break;
- }
- getContext().getContentResolver().notifyChange(CONTENT_URI, null);
- return updated;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement