详解 Android content provider
2010-03-15 15:35:00 来源:WEB开发网调用ContentResolver.delete()函数,以需要删除的记录类型的Uri(如 android.provider.Contacts.People.CONTENT_URI)为参数,可以删除多行数据,SQL的WHERE语句可以指定删除哪儿些行。注意:如果要删除一个通用类型,一定要确定WHERE语句是有效的,否则将会面临删掉比预计更多的记录的风险。创建Content Provider 要创建一个Content Provider,必须: · 建立保存数据的系统。大多数content providers使用Android的文件或SQLite数据库来存储数据,但是我们可以以我们想要的任何方式存储数据。 Android提供了 SQLiteOpenHelper来帮助我们创建数据库,提供了 SQLiteDatabase类来管理数据库。 · 扩展ContentProvider类来提供访问数据的方法。. · 在应用程序的AndroidManifest.xml文件中声明这个Content Provider。下面各节将讨论上面任务的后两项定义ContentProvider类的子类把数据开放给使用ContentResolver和Cursor期望规则的其它应用程序,这主要是要实现在 ContentProvider类中定义的六个虚函数: query() insert() update() delete() getType() onCreate() query()方法必须返回一个能够遍历所求数据的Cursor对象。Cursor本身也是接口,但是Android一些可用的Cursor对象,例如,SQLiteCursor可以遍历保存在SQLite数据库中的数据。通过调用任何SQLiteDatabase类的query()方法就可以得到 Cursor对象,还有其它为不是保存在数据库中的数据而设的Cursor实现,诸如MatrixCursor。由于在不同的进程和线程中的ContentResolver 对象都可以调用ContentProvider的方法,必须在线程安全模式下使用。
更多精彩
赞助商链接