Android Open Source - ShoppingList Shopping List Provider From Project Back to project page ShoppingList .
License The source code is released under:
GNU General Public License
If you think the Android project ShoppingList listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package net.sledzdev.shoppinglist.content;
/ / f r o m w w w . j a v a 2 s . c o m
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.sqlite.SQLiteOpenHelper;
import android.net.Uri;
import android.util.SparseArray;
/**
* Created by Mariusz on 23.11.13.
*/
public class ShoppingListProvider extends ContentProvider {
private static final int LISTS = 10;
private static final int LIST_ID = 11;
private static final int ITEMS = 20;
private static final int ITEM_ID = 21;
private static final UriMatcher URI_MATCHER;
static {
URI_MATCHER = new UriMatcher(UriMatcher.NO_MATCH);
URI_MATCHER.addURI(ShoppingProviderContract.AUTHORITY, ListsTable.TABLE_NAME, LISTS);
URI_MATCHER.addURI(ShoppingProviderContract.AUTHORITY, ListsTable.TABLE_NAME + "/#" , LIST_ID);
URI_MATCHER.addURI(ShoppingProviderContract.AUTHORITY, ItemsTable.TABLE_NAME, ITEMS);
URI_MATCHER.addURI(ShoppingProviderContract.AUTHORITY, ItemsTable.TABLE_NAME + "/#" , ITEM_ID);
}
private SQLiteOpenHelper openHelper;
private SparseArray<UriContentProvider> contentRouter;
@Override
public boolean onCreate() {
openHelper = new DatabaseHelper(getContext());
contentRouter = new SparseArray<UriContentProvider>();
contentRouter.put(LISTS, new ListsProvider(LISTS, openHelper));
contentRouter.put(LIST_ID, new ListRowProvider(LIST_ID, openHelper));
contentRouter.put(ITEMS, new ItemsProvider(LIST_ID, openHelper));
contentRouter.put(ITEM_ID, new ItemRowProvider(LIST_ID, openHelper));
return true;
}
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
return matchUriAndGetUriContentProvider(uri).query(uri, projection, selection, selectionArgs, sortOrder);
}
@Override
public String getType(Uri uri) {
return matchUriAndGetUriContentProvider(uri).getType(uri);
}
@Override
public Uri insert(Uri uri, ContentValues values) {
return matchUriAndGetUriContentProvider(uri).insert(uri, values);
}
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
return matchUriAndGetUriContentProvider(uri).delete(uri, selection, selectionArgs);
}
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
return matchUriAndGetUriContentProvider(uri).update(uri, values, selection, selectionArgs);
}
private UriContentProvider matchUriAndGetUriContentProvider(Uri uri) {
int id = URI_MATCHER.match(uri);
return getUriContentProviderOrThrow(id);
}
private UriContentProvider getUriContentProviderOrThrow(int id) {
UriContentProvider uriContentProvider = contentRouter.get(id);
if (uriContentProvider == null) {
throw new IllegalArgumentException("There is no entry with id: " + id);
}
return uriContentProvider;
}
}
Java Source Code List net.sledzdev.shoppinglist.DetailFragmentHandlersRegister.java net.sledzdev.shoppinglist.ItemDialogActivity.java net.sledzdev.shoppinglist.ShoppingListDetailActivity.java net.sledzdev.shoppinglist.ShoppingListDetailFragment.java net.sledzdev.shoppinglist.ShoppingListsActivity.java net.sledzdev.shoppinglist.ShoppingListsFragment.java net.sledzdev.shoppinglist.adapter.DataModelAdapter.java net.sledzdev.shoppinglist.adapter.DataModel.java net.sledzdev.shoppinglist.adapter.ElementWithId.java net.sledzdev.shoppinglist.adapter.ItemAdapterEventController.java net.sledzdev.shoppinglist.adapter.ItemAdapter.java net.sledzdev.shoppinglist.adapter.ListMapDataModelTest.java net.sledzdev.shoppinglist.adapter.ListMapDataModel.java net.sledzdev.shoppinglist.adapter.ShoppingListAdapterEventsHandler.java net.sledzdev.shoppinglist.adapter.ShoppingListsAdapter.java net.sledzdev.shoppinglist.content.DatabaseHelper.java net.sledzdev.shoppinglist.content.DatabaseUriContentProvider.java net.sledzdev.shoppinglist.content.ItemRowProvider.java net.sledzdev.shoppinglist.content.ItemsProvider.java net.sledzdev.shoppinglist.content.ItemsTable.java net.sledzdev.shoppinglist.content.ListRowProvider.java net.sledzdev.shoppinglist.content.ListsProvider.java net.sledzdev.shoppinglist.content.ListsTable.java net.sledzdev.shoppinglist.content.RowUriProvider.java net.sledzdev.shoppinglist.content.ShoppingListProviderTest.java net.sledzdev.shoppinglist.content.ShoppingListProvider.java net.sledzdev.shoppinglist.content.ShoppingProviderContract.java net.sledzdev.shoppinglist.content.TableUriProvider.java net.sledzdev.shoppinglist.content.UriContentProvider.java net.sledzdev.shoppinglist.event.ClearListEvent.java net.sledzdev.shoppinglist.event.EventBusFactory.java net.sledzdev.shoppinglist.event.ItemChangedEvent.java net.sledzdev.shoppinglist.event.ItemCheckedChangedEvent.java net.sledzdev.shoppinglist.event.ItemDeleteEvent.java net.sledzdev.shoppinglist.event.ItemDialogCloseEvent.java net.sledzdev.shoppinglist.event.ItemDialogOpenRequestEvent.java net.sledzdev.shoppinglist.event.ListDeleteEvent.java net.sledzdev.shoppinglist.event.ListSelectedEvent.java net.sledzdev.shoppinglist.event.ListTitleChangedEvent.java net.sledzdev.shoppinglist.event.NewItemEvent.java net.sledzdev.shoppinglist.event.NewListEvent.java net.sledzdev.shoppinglist.event.NewListRequestEvent.java net.sledzdev.shoppinglist.event.TextWatcherAdapter.java net.sledzdev.shoppinglist.event.UpdateListAdapterEvent.java net.sledzdev.shoppinglist.handlers.ClearListEventHandler.java net.sledzdev.shoppinglist.handlers.ItemChangedEventHandler.java net.sledzdev.shoppinglist.handlers.ItemCheckedChangeEventHandler.java net.sledzdev.shoppinglist.handlers.ItemDeleteEventHandler.java net.sledzdev.shoppinglist.handlers.ItemDialogOpenRequestEventHandler.java net.sledzdev.shoppinglist.handlers.ListDeleteEventHandler.java net.sledzdev.shoppinglist.handlers.ListSelectedEventHandler.java net.sledzdev.shoppinglist.handlers.ListTitleChangedEventHandler.java net.sledzdev.shoppinglist.handlers.NewItemEventHandler.java net.sledzdev.shoppinglist.handlers.NewListEventHandler.java net.sledzdev.shoppinglist.manager.ContentManagerTests.java net.sledzdev.shoppinglist.manager.ContentManager.java net.sledzdev.shoppinglist.manager.ContentTransformer.java net.sledzdev.shoppinglist.manager.ItemContentTransformer.java net.sledzdev.shoppinglist.manager.ListsContentTransformer.java net.sledzdev.shoppinglist.manager.MockContentManager.java net.sledzdev.shoppinglist.manager.OnUiThreadFutureCallback.java net.sledzdev.shoppinglist.model.ShoppingItemBuilderTest.java net.sledzdev.shoppinglist.model.ShoppingItemBuilder.java net.sledzdev.shoppinglist.model.ShoppingItem.java net.sledzdev.shoppinglist.model.ShoppingListFactoryTest.java net.sledzdev.shoppinglist.model.ShoppingListFactory.java net.sledzdev.shoppinglist.model.ShoppingList.java