日期:2014-05-16  浏览次数:20358 次

ContentProvider和ContentResolver还有SQLiteDatabase的关系

在Android系统中,存储数据的方式一共有5种:
1.SharedPreferences
2.文件存储
3.SQLite数据库存储
4.ContentProvider
5.网络

? 而ContentProvider是一种让多应用程序之间数据交换的一种接口,就是说在一个应用程序里面将一些数据暴露出来,以供外部访问。外部访问就是通过ContentResolver去访问并操作这些被暴露的数据。
? ContentProvider中的里面的数据的存储方式(可以是文件,可以是数据库或其他方式)外界看不到,但是通过它提供的接口可以访问。
? 在ContentProvider中,数据都是以表的形式组织的。实现一个ContentProvider需要构建一个数据存储系统,这时候可以用数据库的方式去实现。所以,你才会看到有些地方在用ContentProvider的时候又用了SQLite。