博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Content Provider(内容提供者)
阅读量:6908 次
发布时间:2019-06-27

本文共 1467 字,大约阅读时间需要 4 分钟。

hot3.png

什么是Content Provider

  • 应用程序间共享数据的一种方式
  • 为存储和获取数据提供了统一的接口
  • Android为常见的一些数据提供了默认的ContentProvider
  • Uri : 通用资源标识符

 创建和使用Content Provider的步骤:

图片从视频网上copy的

a63e5e96826639e5dfae34b7fc6a5441b1e.jpg

下面写一个利用Content Provider 读取手机通讯录联系人姓名,并将名字显示在TextView中

xml代码

Java代码, 里面该有的都注释了

public class Demo01 extends AppCompatActivity {    private TextView people_tv;    //希望获得姓名(通讯录内的姓名)    private String columns = ContactsContract.Contacts.DISPLAY_NAME;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_demo01);        people_tv = findViewById(R.id.module_act_people_tv);        //将联系人信息显示出来        people_tv.setText(getQueryData());        //添加访问系统通讯录权限        //
} private CharSequence getQueryData(){ //用于保存获取的联系人 StringBuilder stringBuilder = new StringBuilder(); ContentResolver resolver = getContentResolver(); //查询记录 Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null, null); //获取姓名记录的索引值 int displayNameIndex = cursor.getColumnIndex(columns); //迭代获取索引 for (cursor.moveToFirst();!cursor.isAfterLast();cursor.moveToNext()){ String displayName = cursor.getString(displayNameIndex); stringBuilder.append(displayName+"\n"); } //关闭cursor cursor.close(); return stringBuilder.toString(); }}

 

转载于:https://my.oschina.net/lanyu96/blog/2980587

你可能感兴趣的文章
我的友情链接
查看>>
我的友情链接
查看>>
Java学习笔记1-初始化的顺序
查看>>
开源Xen是如何衰落的?
查看>>
Pivot Table系列之切片器 (Slicer)
查看>>
windows下安装mysql5.6及基本命令
查看>>
jsp的九个内置对象简介
查看>>
用户如何获得***服务---步骤与效果
查看>>
学习沟通技巧--- SOFTEN法则与SOLER法则
查看>>
用户密码重设对EFS的影响
查看>>
基于mdrill的大数据分析
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
继续探索其他不同类型Activity的属性,可以获取到所有Activity的属性
查看>>
Spring+Struts2+Hibernate整合
查看>>
C#常见问题总结(二)
查看>>
Linux系统基础-Linux系统文件操作常用命令
查看>>
网络工程师成长日记307-XX公安监控中心技术支持回忆录
查看>>
JavaWeb17-HTML篇笔记(二)
查看>>
vlan虚拟局域网
查看>>