I'm a bit confused in the question, if it's better to use ContentProvider
or Database
. Or it makes no difference if I don't want to share any data with other applications.
If I've understood it right, content providers based on SQLite
DBs and it's also possible that content of them is only accessable for my application.
Can you give some explanations?
Thank you very much,
Mur
There certainly are worthwhile problems for which a provider is a solution, particularly for cross-app data publishing. For example, you need to use a content provider to supply search suggestions to a Quick Search Box.
However, for internal use within an application, I am not a fan. The benefits IMHO are outweighed by the costs (e.g., reduced flexibility, additional overhead).
If you do implement a content provider, bear in mind that they are accessible by other applications by default. You need to include android:exported="false"
in the <provider>
element to make them private to your app.