android 读取本地通讯录外加搜索功能
来源:互联网 发布:机构持仓数据查询 编辑:程序博客网 时间:2024/05/01 13:01
一 添加权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
二 读取联系人关键代码
private static final String[] PHONES_PROJECTION = new String[] {
Phone.DISPLAY_NAME, Phone.NUMBER, Photo.PHOTO_ID,Phone.CONTACT_ID };
private Cursor getContacts(){
ContentResolver resolver = context.getContentResolver();
Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION, null, null, null);
return phoneCursor;
}
public class FriendBean {
private String name;
private String number;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
private void initFriendsList() {
List <FeriendBean>friendBeanlist = new ArrayList<FriendBean>();
Cursor cursor = getContacts();
while(cursor.moveToNext()){
FriendBean fb = new FriendBean();
fb.setName(cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME)));
fb.setNumber(cursor.getString(cursor.getColumnIndex(Phone.NUMBER)));
friendBeanlist.add(fb);
}
}
现在已经把所有联系人添加到了列表
下面实现搜索(支持联系人 和手机号搜索)
private List<FriendBean> searchConstantsByWords(String words){
if(words == null || "".equals(words)){
return friendBeanlist;
}
List<FriendBean> result = new ArrayList<FriendBean>();
for(FriendBean fb:friendBeanlist){
String name = fb.getName();
String number = fb.getNumber();
String firstStr = getFirst(name);
if(name.toLowerCase().contains(words.toLowerCase()) || number.contains(words) || firstStr.contains(words.toLowerCase())){
result.add(fb);
}
}
return result;
}
public static String getFirst(String str) {
String result = "";
for (int j = 0; j < str.length(); j++) {
char word = str.charAt(j);
// 需要jar包在附件里下载
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null) {
result += pinyinArray[0].charAt(0);
} else {
result += word;
}
}
return result;
}
- android 读取本地通讯录外加搜索功能
- Android通讯录开发之通讯录联系人搜索功能最新实现
- Android通讯录开发之通讯录联系人搜索功能最新实现
- 通讯录搜索功能
- iOS读取通讯录功能
- J2ME 读取手机本地通讯录
- Android实战--实现读取通讯录和拨打电话功能
- Android本地通讯录
- 类似于通讯录的搜索功能
- Android通讯录开发之通讯录联系人搜索功能最新实现5
- Android通讯录搜索
- android 搜索通讯录联系人
- android读取手机通讯录
- android 读取通讯录
- Unity读取Android通讯录。
- Android读取通讯录联系人
- Android读取通讯录联系人
- android 读取手机通讯录
- 大家小心 骗子短信
- Oracle cursor_sharing 参数 详解
- Python 学习入门(4)—— 连接MySQL
- Java源代码分析
- Visual Studio 运行程序闪一下就消失了
- android 读取本地通讯录外加搜索功能
- Nebula level08
- Objective-C中的@property和@synthesize用法
- imac 截图
- [Python] 安装及环境配置
- 一个能实现收银功能的小代码
- System类操作系统相关的属性。
- 树形dp hdu-4514 湫湫系列故事——设计风景线
- [jQuery] 选项卡,仿腾讯迷你首页,清爽无修饰版