android内容提供者_挖穿Android第三十九天

ef1333dbffdbdc7d9dcf3b9e77a588c8.png

为什么需要内容提供者

回顾数据库知识: [1]定义一个类继承SqliteOpenHelper [2]想要操作数据库必须获取一个SqliteDatabase对象 [3]chmod修改文件的权限 实际应用非root手机是没有办法操作/data/data/目录内容提供者可以把私有的数据库里面的内容对外提供。不需要修改文件的权限

实现内容提供者步骤

注意[0]内容提供者提供数据,内容解析者访问数据[1]写一个类继承ContentProvider[2]去清单文件里面注册 注意:API-18开始 android:exported 默认值是false 需要改为true[3]给ContentProvider添加一个authorities[4]在Provider里面添加一个UriMatch类 用来匹配传进来的Uri地址[5]访问方通过调用ContentReceiver来访问ContentProvider

备份短信案例

sms表: address:发送人号码 date: 发送时间 read: 已读未读 0代表未读 1代表已读 body: 短信内容 权限:  备份: try { // [1]获取一个XmlSerializer对象生成XML文件 XmlSerializer serializer = Xml.newSerializer(); // [2]指定存储路径 FileOutputStream fops = new FileOutputStream(Environment.getExternalStorageDirectory().getPath() + "/sms.xml"); // [3]设置输出流 serializer.setOutput(fops, "utf-8"); // [4]文档开始 serializer.startDocument("utf-8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值