Android—ContentProvider读取系统联系人
来源:互联网 发布:福州市第一中学 知乎 编辑:程序博客网 时间:2024/06/02 20:40
我们主要是利用ContentProvider来共享其他程序的数据
需要借助ContentResolver类
这个类提供了一系列对数据处理的方法
读取联系人主要用到了查询方法,query();
来看一下核心代码
public void InitDate(){ Cursor cursor =null;//Cursor 是每行的集合。 try{ cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,null,null,null); //实例化ContentResolver 并查询联系人信息 while(cursor.moveToNext()){ String playname=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); //获取联系人姓名 String numbel = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); //获取联系人电话 Peo P = new Peo(playname,numbel); contactsList.add(P); } }catch (Exception e){ e.printStackTrace(); }finally { if (cursor!=null) { cursor.close(); } } }
核心代码就是这么多
其他的主要就是把数据放到listview中显示出来就好了
github源码下载地址
这个项目中的listview是已经经过两层优化的
我是把信息作为一个类传递给适配器的
嗯 在敲的过程中还遇到这样一个问题
There is no default constructor available in super()
这是我在继承ArrayAdapter的时候,子类出现该错误。创建构造函数依旧出错
原因是 ArrayAdapter没有无参构造函数,所以子类继承时,构造函数中必须显式调用父类构造方法,并且传递对应所需要的参数。
子类初始化的时候,先调用父类的构造方法。只有初始化以后再能调用类里面的非静态方法。在执行构造器前之前,当前类及父类所有的静态方法,静态变量,静态代码块都提前执行了
大概就酱紫 啦啦啦
over 以上
0 0
- Android—ContentProvider读取系统联系人
- Android -- ContentProvider, 读取和保存系统 联系人
- ContentProvider 读取系统联系人
- android系统ContentProvider——联系人
- 使用ContentProvider读取系统联系人信息
- Android-ContentProvider读取和插入手机联系人
- android studio contentprovider读取手机联系人
- Android ContentProvider 之查看/读取手机联系人
- Android ContentProvider之读取、添加联系人
- Android 读取系统联系人
- Android ContentProvider+获取系统联系人小Demo
- android中ContentProvider实现联系人的读取和插入
- Android中通过ContentProvider来获取系统联系人
- 使用系统ContentProvider添加联系人
- 利用系统ContentProvider增加联系人
- 26.获取系统联系人ContentProvider
- Android 选择系统联系人并读取联系人数据
- Android wiki:15.读取系统联系人
- Win7如何共享文件 Win7如何分享局域网并设置共享文件夹账户和密码
- GitHub入门教程 SVN 主干(trunk)、分支(branch )、标记(tag)
- 慕丝恋人白色巧克力蛋糕点心面包办公室零食品 金针菇独立小包装
- 直接用编译器按ctrl+F5运行和Release、Debug下双击运行结果不一样
- 应用优化
- Android—ContentProvider读取系统联系人
- XML 解析--SAX
- 孪生素数问题 &&一种排序 && 大数阶乘 &&筛素(2)
- rxjava+retrofit+okhttp 打造通用接口
- threadlocal与数据库连接池
- LintCode(容易)二进制中有多少个1(错误集)
- csdn markdown 使用方法,快捷键
- Cpp环境【OpenJudge3344】【Vijos2874】冷血格斗场
- 脏数据清洗