What is it?
A ContentProvider for an Android application is the main source for adding or getting data. It can sit ontop of a SQLite database. It providies data for the entire device, not just the single application. But I don't suppose our data needs to be protected from the rest of the applications on the device, since the User of the device is the owner of the data.
Our Usage
I have found that a Content Provider is a duplication of a SQLiteDatabase class, and as the SQL class it can only provide a cursor for returning results. This makes it very unhandy for the upper layers, so I will have to wrap the classes into a Data Access Layer (Domain Layer).
In order to provide access to local trip readings for other applications, I might implement a Content Provider, but it is not a priority.
The Priority is to construct an abstract version of a cache, which is able to distinguish between local and foreign data, and cache foreign data to the local database, as well as upload local data to a foreign resource as needed.
Persistency
For persistency we will use the native sqlite3 Android database library. For this we should build a DAL (Data abstraction layer) which wraps around the database.