从别的程序获取数据

通过getContentResolver()方法获得ContentResolver实例

  • 增加数据

ContentValues values = new ContentValues();
values.put("column1", "text");
values.put("column2", 1);
getContentResolver().insert(uri, values);

  • 删除数据

getContentResolver().delete(uri, "column2 = ?", new String[] { "1" });

  • 更改数据

ContentValues values = new ContentValues();
values.put("column1", "");
getContentResolver().update(uri, values, "column1 = ? and column2 = ?", new
String[] {"text", "1"});

  • 查询数据

Cursor cursor = getContentResolver().query(
uri,    //uri对应的表
projection,    //指定查询的列名
selection,    //指定 where 的约束条件
selectionArgs,    //为 where 中的占位符提供具体的值
sortOrder);    //指定查询结果的排序方式

query()方法参数 对应 SQL 部分  描述
uri  from table_name  指定查询某个应用程序下的某一张表
projection  select column1, column2  指定查询的列名
selection  where column = value  指定 where 的约束条件
selectionArgs  -  为 where 中的占位符提供具体的值
orderBy  order by column1, olumn2  指定查询结果的排序方式

遍历 Cursor

查询得到Cursor对象,通过移动游标的位置来遍历 Cursor 的所有行,然后再取出每一行中相应列的数据

    if (cursor != null) {while (cursor.moveToNext()) {//当到型循环  String column1 = cursor.getString(cursor.getColumnIndex("column1"));int column2 = cursor.getInt(cursor.getColumnIndex("column2"));}cursor.close();}

创造ContentProvider,给别的程序提供数据

新建 MyProvider 继承自 ContentProvider,重写6个方法

UriMatcher中提供了一个 addURI()方法,1.权限、2.路径、3.自定义代码

当调用 UriMatcher 的 match()方法时,就可以将一个 Uri 对象传入,返回值是某个能够匹配这个 Uri对象所对应的自定义代码,利用这个代码,我们就可以判断出调用方期望访问的是哪张表中的数据了

>MIME 类型
content://com.example.app.provider/table1 --------------------vnd.android.cursor.dir/vnd.com.example.app.provider.table1
content://com.example.app.provider/table1/1-------------------vnd.android.cursor.item/vnd.com.example.app.provider.table1

转载于:https://www.cnblogs.com/cenzhongman/p/6392823.html

跨程序提供及获取内容相关推荐

  1. 第七章:跨程序共享数据-探究内容提供器

    运行时权限 Android 6.0 之后的系统提供了两种权限: 普通权限.例如:访问网络状态.监控开机是否完成等.这种权限会在安装 APP 时询问用户是否同意. 危险权限,也就是说运行时权限,需要在程 ...

  2. 微信小程序code和其他内容的获取

    在之前的一篇文章中谈到了微信小程序code的获取,很多朋友以为是生成code的方式,这里再强调下:不是,一旦点了微信授权弹出框后,这个code就已经提交到微信服务器做完验证了.该程序的原理不是去模拟器 ...

  3. 如何在程序中解析获取word文档(docx格式)的文本内容

    原理 docx格式的word文档其实是一个压缩包,文本内容.格式.图片等是分别存储在不同的文件中的,office通过这些文件还原出我们所看到的word文档.下面以一个简单的示例来说明docx格式. 示 ...

  4. 第7章 跨程序共享数据,探究

    第7章 跨程序共享数据,探究 内容提供器 在上一章中我们学了Android数据持久化的技术,包括文件存储.SharedPreferences存 储.以及数据库存储.不知道你有没有发现,使用这些持久化技 ...

  5. gatsby_如何使用Gatsby.js来获取内容

    gatsby by Dimitri Ivashchuk 由Dimitri Ivashchuk 如何使用Gatsby.js来获取内容 (How to source content with Gatsby ...

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

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

  7. jQuery - 获取内容和属性

    http://www.runoob.com/jquery/jquery-dom-get.html jQuery - 获取内容和属性 jQuery 拥有可操作 HTML 元素和属性的强大方法. jQue ...

  8. 微信小程序python解析获取用户手机号_微信小程序获取用户手机号

    获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...

  9. 小程序云开发添加内容审核和图片审核

    小程序云开发添加内容审核和图片审核 本文介绍 对于小程序涉及信息的发布操作情景,小程序官方提供了内容审核 接口,本文是来学习审核接口的使用. ​ 内容的审核有很多的实现方式,本次采用的是小程序自带的云 ...

最新文章

  1. php转word插件下载不了,不用软件pdf转word的方法
  2. 开发日记-20190914 关键词 汇编语言王爽版 第五章
  3. SVD理论以及Python实现
  4. 【网络安全】2022年第一次靶场渗透实战学习
  5. mac版lightroom cc_Photoshop问世30周年 Mac和iPad版获重要更新
  6. python全栈开发要学些什么_如何迅速学习Python 全栈开发?
  7. oracle 12 sqlplus 使用,oracle 12.2 sqlplus history
  8. 阿里云TSDB在大数据集群监控中的方案与实战
  9. 数据分析:为什么说Python比Excel更简单高效 ?
  10. [脚本编程] 过云盾、D盾各种盾shell
  11. 计算机系统-电路设计04-全加器的内部电路实现
  12. Android开发实践:自定义ViewGroup的onLayout()分析
  13. cocos2d中CCSprite的使用总结 【转】
  14. 三维交互电子沙盘在消防应急指挥部的一张图建立方案
  15. Maven 配置与依赖冲突问题
  16. java通过winrm实现remote powershell
  17. java 导出word换行_[原创]java导出word的5种方式
  18. html中dom什么意思,dom属性是什么意思啊 html dom是什么意思,通俗易懂
  19. JAVA学习笔记(第五章 接口与继承)
  20. 能将PDF转成PPT图片文字的转换器

热门文章

  1. linux系统下文件查找
  2. Android省电妙招
  3. http 使用curl发起https请求 error 60 51
  4. 将Access数据库导入到SQLite最简单最实用的方法 -转
  5. html表格隐藏1行,js控制隐藏或显示table的某一行
  6. 蓝桥杯 ADV-201 算法提高 我们的征途是星辰大海
  7. L1-013. 计算阶乘和-PAT团体程序设计天梯赛GPLT
  8. 可以看游资的app_大大游资软件下载
  9. 【转发】Git本地服务器搭建及使用详解
  10. Cyrus SASL Libary学习