Android基础之Content Provider(待完善)

Content Provider是Android四大组件之一.使用前需要在manifest.xml中进行注册

主要是封装数据,为存储和获取数据提供统一的接口,可以在不同的应用程序之间进行数据的共享

需要调用数据时,用一个ContentResolver对象作为类似客户端来跟ContentProvider的实例进行交互.

如果你不需要让你的应用程序和其他应用程序共享数据,则不用写自己的ContetProvider类


要接触一定数据的provider时,需要在manifest.xml中声明权限

调用系统的Content Provider

比如调用联系人信息

String [] projection={Contacts._ID,Contacts.DISPLAY_NAME};

//首先获得ContentResolver对象,调用其查询query方法()

Cursor c=getContentResolver().query(Contacts.CONTENT_URI,projection,null,null,null);

//其query方法的参数是Contacts.CONTENT_URI  这个字符串其实为content://com.android.contacts/contacts

打电话,联系人,短信等都是android的系统应用,这些应用放在了/data/data目录下  字符串解析找到了这个包里的数据
//第二个参数是决定选定了哪些数据项需要返回 相当于SQL语句中的select a,b,c

//第三个参数为决定哪些行,相当于WHERE语句
//第四个参数是排序

把Cursor安排给以个SimpleCursorAdapter就能简单的显示出这些信息了

也可以从c.getString(c.getColumnIndex(Contacts.DISPLAY_NAME));获得其具体的值进行处理


执行插入,更新,删除操作同样

ContentValues cv=new ContentValues()

cv.put(Contacts.DISPLAY_NAME,"John Smith");

cv.putNull(Contacts.PHOTO);

getResolver.insert();   update() delete()等操作

这里的操作需要对其数据库表结构比较了解,需要仔细添加


怎样自定义的ContentProvider??

转载于:https://www.cnblogs.com/nightkidzxc/archive/2012/02/26/2379003.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值