为什么需要内容提供者

回顾数据库知识: [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

android内容提供者_挖穿Android第三十九天相关推荐

  1. android checkbox 选中事件_挖穿Android第四十九天

    设置向导 完成第一个向导页面Setup1Activity的布局文件 - style样式介绍 - 用到的系统图片 android:drawableLeft="@android:drawable ...

  2. Android 内容提供者(Content provider)

    原文地址:http://justsee.iteye.com/blog/936612 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然 ...

  3. android 内容提供其,Android内容提供者

    内容提供程序(Provider)组件从一个应用到其他请求提供数据.通过 ContentResolver 类的方法这样的请求处理.内容提供程序使用不同的方式来存储数据,并且可以将数据存储在数据库中,文件 ...

  4. Android内容提供者(群发短信)

    工程目录: Manifests添加读取联系人权限 <uses-permission android:name="android.permission.READ_CONTACTS&quo ...

  5. Android内容提供者ContentProvider总结

    一.ContentProvider基础知识 ContentProvider作为Android四大组件之一,相对其他组件来说,应用的场合是最少的了,但是它是有自己独特的作用的,比如为其他程序提供数据.C ...

  6. android内容提供器读取图片,android实现拍照或从相册选取图片

    从相册或拍照更换图片功能的实现:(取图无裁剪功能) 获取图片方式: (类似更换头像的效果) 1.手机拍照 选择图片: 2.相册选取图片: 本文只是简单实现该功能,页面展示有些简陋,运行效果图如下: 创 ...

  7. android 更改字体_如何在Android中更改字体

    android 更改字体 Ben Stockton 本·斯托克顿 Android offers plenty of options to customize the appearance of you ...

  8. AndroidStudio_android多线程和异步任务_要学内容介绍_相关知识点---Android原生开发工作笔记241

    可以看到android开发中的多线程我们要知道上面一些基础的部分,比如多线程的意义,创建, 线程池,异步消息处理..异步任务..等等. 要了解什么是ANR 复习多线程的创建过程 各种线程池的创建以及使 ...

  9. Android内容提供者(读取手机联系人信息)

    工程目录: Manifestes加入读取联系人权限 <uses-permission android:name="android.permission.READ_CONTACTS&qu ...

最新文章

  1. dede修改mysql,Dedecms(织梦)程序MySQL修复表和文章路径修改方法
  2. 精通python要多久-小白到精通python要多久
  3. 计算机用于尖端科技,【判断题】用演绎法教问句的方法适用于中高级型学生
  4. maven原型_Maven原型创建技巧
  5. 【转】RabbitMQ六种队列模式-4.路由模式
  6. vue当前页引入js_「vue基础」新手入门导航(一)
  7. MyBatis映射器出错,已解决(Multiple annotations found at this line:)
  8. python程序设计课后答案第二版_智慧职教APPPython程序设计(深圳信息职业技术学院)课后答案...
  9. 软件设计之UML的几种关系
  10. 统计图源代码_openlayers4 入门开发系列结合 echarts4 实现统计图(附源码下载)
  11. z变换解差分方程例题_Z变换及差分方程的求解
  12. [转]DOS批处理高级教程精选合编
  13. HashMap,LinkedHashMap,TreeMap应用
  14. python九九乘法表右上三角解析_九九乘法表右上三角,c语言
  15. 谷歌浏览器html插件字体大小,字体换加插件,自定义Chrome网页字体,更改字体样式,调整字体大小...
  16. 从不跑步到无间断跑步1年感受
  17. 微信朋友圈自动点赞---一个也不能少
  18. 国家信息中心副主任周民:加快形成网络安全的亮剑精神
  19. 微软VS硬伤 - 未能起用约束集
  20. CDS TABLE FUNCTOIN传参,指定客户端

热门文章

  1. “秒开”浏览器实现起来有多难?
  2. 重磅亮相KubeCon China,腾讯云为你揭秘国内云商最大容器集群
  3. 我眼中的 Nginx(六):深入 Nginx/Openresty 服务里的 DNS 解析
  4. lua.c:80:31: fatal error: readline/readline.h: No such file or directory
  5. 使用QUIC协议实现实时视频直播0卡顿
  6. 32位CPU和64位CPU 区别
  7. Lua基础之math(数学函数库)
  8. 【Java基础】static初始化块
  9. C++ vector容器 find erase的使用:查找并删除指定元素
  10. 牛客网_PAT乙级_1010月饼 (25)