Creating Your Application’s SQLite ContentProvider
The best place to store and retrieve a user’s tasks in the Task Reminder application is inside an SQLite database. Your application needs to be able to perform CRUD — create, read, update, and delete — tasks from the database using a
Understanding how the SQLite ContentProvider works
The two fragments in the Task Reminder application need to perform various duties to operate.
ReminderEditFragment needs to complete these steps:
1. Create a new record.
2. Read a record so that it can display the details for editing.
3. Update the existing record.
ReminderListFragment needs to perform these duties:
1. Read all tasks to show them onscreen.
2. Delete a task by responding to the click event from the context menu after a user has long-pressed an item.
To work with an SQLite database, you communicate with the database via a
ContentProvider. Programmers commonly remove as much of the database communication as possible away from the
Fragment objects. The database mechanisms are placed into a
ContentProvider to help separate the application into layers of functionality. Therefore, if you need to alter code that affects the database, you know that you need to change the code in only one location to do so.
Creating a ContentProvider to hold the database code
To create a
ContentProvider in your Android project that will house the database-centric code, you first name the file