Advertisement
Guest User

Untitled

a guest
Dec 14th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. package com.heryanto.moviecataloguelocalstorage.provider;
  2.  
  3. import android.content.ContentProvider;
  4. import android.content.ContentValues;
  5. import android.content.UriMatcher;
  6. import android.database.Cursor;
  7. import android.net.Uri;
  8.  
  9. import com.heryanto.moviecataloguelocalstorage.db.MovieHelper;
  10.  
  11. import static com.heryanto.moviecataloguelocalstorage.db.DatabaseContract.AUTHORITY;
  12. import static com.heryanto.moviecataloguelocalstorage.db.DatabaseContract.MovieColumns.CONTENT_URI;
  13. import static com.heryanto.moviecataloguelocalstorage.db.DatabaseContract.TBMOVIE;
  14.  
  15. public class MovieProvider extends ContentProvider {
  16. private static final int MOVIE = 1;
  17. private static final int MOVIE_ID = 2;
  18. private MovieHelper movieHelper;
  19.  
  20. private static final UriMatcher sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
  21.  
  22. static {
  23. sUriMatcher.addURI(AUTHORITY, TBMOVIE, MOVIE);
  24. sUriMatcher.addURI(AUTHORITY,
  25. TBMOVIE + "/#",
  26. MOVIE_ID);
  27. }
  28.  
  29. public MovieProvider() {
  30. }
  31.  
  32. @Override
  33. public int delete(Uri uri, String selection, String[] selectionArgs) {
  34. int deleted;
  35. switch (sUriMatcher.match(uri)) {
  36. case MOVIE_ID:
  37. deleted = movieHelper.deleteById(uri.getLastPathSegment());
  38. break;
  39. default:
  40. deleted = 0;
  41. break;
  42. }
  43. getContext().getContentResolver().notifyChange(CONTENT_URI, null);
  44. return deleted;
  45. }
  46.  
  47. @Override
  48. public String getType(Uri uri) {
  49. // TODO: Implement this to handle requests for the MIME type of the data
  50. // at the given URI.
  51. throw new UnsupportedOperationException("Not yet implemented");
  52. }
  53.  
  54. @Override
  55. public Uri insert(Uri uri, ContentValues values) {
  56. long added;
  57. switch (sUriMatcher.match(uri)) {
  58. case MOVIE:
  59. added = movieHelper.insert(values);
  60. break;
  61. default:
  62. added = 0;
  63. break;
  64. }
  65. getContext().getContentResolver().notifyChange(CONTENT_URI, null);
  66. return Uri.parse(CONTENT_URI + "/" + added);
  67. }
  68.  
  69. @Override
  70. public boolean onCreate() {
  71. movieHelper = MovieHelper.getInstance(getContext());
  72. movieHelper.open();
  73. return true;
  74. }
  75.  
  76. @Override
  77. public Cursor query(Uri uri, String[] projection, String selection,
  78. String[] selectionArgs, String sortOrder) {
  79. Cursor cursor;
  80. switch (sUriMatcher.match(uri)) {
  81. case MOVIE:
  82. cursor = movieHelper.queryAll();
  83. break;
  84. case MOVIE_ID:
  85. cursor = movieHelper.queryById(uri.getLastPathSegment());
  86. break;
  87. default:
  88. cursor = null;
  89. break;
  90. }
  91.  
  92. return cursor;
  93. }
  94.  
  95. @Override
  96. public int update(Uri uri, ContentValues values, String selection,
  97. String[] selectionArgs) {
  98. int updated;
  99. switch (sUriMatcher.match(uri)) {
  100. case MOVIE_ID:
  101. updated = movieHelper.update(uri.getLastPathSegment(), values);
  102. break;
  103. default:
  104. updated = 0;
  105. break;
  106. }
  107. getContext().getContentResolver().notifyChange(CONTENT_URI, null);
  108. return updated;
  109. }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement