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 ContentProvider.

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.

The 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 Activity and 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 ReminderProvider.java.

Defining ...

Get Android Application Development For Dummies, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.