android联系人查询
㈠ android如何获取联系人所有信息
获取联系人必须添加权限
<uses-permission android:name="android.permission.READ_CONTACTS" />
如何获取手机联系人信息
根据ContactsContract.Contacts.CONTENT_URI查询ContentResolver里面的数据,逐个取值即可。
如何获取sim卡的联系人信息
根据目前查找的信息来看,sim联系人的uri有两种:
content://icc/adn
content://sim/adn
挨个去取即可。
㈡ android 联系人数据库介绍以及对联系人的基本操作
联系人数据库最重要的三张表
1.raw_contacts表 保存联系人的id contact_id
2.data 表 保存联系人的数据 通过raw_contact_id确定数据属于哪个联系人
3.mimetypes 表 保存联系人的数据类型
查询联系人的步骤:
1.查询 raw_contacts表 获取联系人的id
2.查询data表 根据联系人的id 把这个联系人的所有的数据给取出来。
㈢ android 怎样通过手机号模糊查询联系人
你可以下载一个电话本软件,在应用宝上有好多个版本的 在电话本软件的手机号码设置上有一个加号点击一下会提示添加新的号码 你可以依次填写所有人的电话号码来进行轻松记录 软件下载可以根据应用宝上的详细介绍轻松获取 资源还是比较多的,我下载都会用应用宝,安全性高兼容性还强
㈣ android在联系人列表界面怎样实现中文联系人搜索功能
在安卓系统中的联系人列表上方,有一个搜索框,输入你想要查询的中文联系人名称,就可以实现中文搜索功能。若只能搜索英文,可能是你的默认输入法是英文,需要手动更改为中文输入。换句话说,你输入的是英文,则搜索英文,输入中文,则可以实现搜索中文。
㈤ Android编程,根据姓名获得手机通讯录中的电话号码
java">importcn.teachcourse.R;
/**
*[email protected]/5/5.
*/
{
privatestaticfinalStringTAG=PhoneNameActivity.class.getSimpleName();
privateEditTextet;
publicstaticvoidstart(Contextcontext){
start(context,null);
}
publicstaticvoidstart(Contextcontext,Intentextras){
Intentintent=newIntent();
intent.setClass(context,PhoneNameActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
|Intent.FLAG_ACTIVITY_SINGLE_TOP);
if(extras!=null){
intent.putExtras(extras);
}
context.startActivity(intent);
}
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phone_name);
et=(EditText)this.findViewById(R.id.mobile);
}
publicvoidgetTelClick(Viewview){
Stringname=et.getText().toString().trim();
number(name);
}
/**
*通过输入获取电话号码
*/
publicvoidnumber(Stringname){
//使用ContentResolver查找联系人数据
Cursorcursor=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);
//遍历查询结果,找到所需号码
while(cursor.moveToNext()){
//获取联系人ID
StringcontactId=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
//获取联系人的名字
StringcontactName=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
if(name.equals(contactName)){
//使用ContentResolver查找联系人的电话号码
Cursorphone=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId,null,null);
if(phone.moveToNext()){
StringphoneNumber=phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Toast.makeText(this,phoneNumber+"TeachCourse——blog。。。",Toast.LENGTH_SHORT).show();
Log.d(TAG,"电话:"+phoneNumber);
break;
}
}
}
}
}
1、修改getTelClick()方法
2、修改Toast面包屑提示
3、修改获取联系人名字方法
4、位置稍微调整
㈥ android 如何查询最新添加的联系人
文是提供了3种方式查询通讯录,获取手机通讯录中所有联系人的ID和联系人姓名。
通过ContentResolver类的query方法,这种方法在主线程中查询数据,query方法返回数据库的游标Cursor,需要自己去手动关闭。
通过Activity类的managedQuery方法,这种方法查询同样是在主线程中,但是不需要手动关闭Cursor,因为Activity类销毁时再onDestroy方法中会去关闭。
通过Android提供的异步查询框架AsyncQueryHandler,这个类是一个抽象类,提供异步查询,当查询完毕后,会调用onQueryComplete方法,该方法参数cursor是查询系统数据库完成后获得的游标。
㈦ android中如何使用sql语句对联系人进行联合查询
一次性输入"dl"和"xl"吗?这个联合查询没法界定啊,你可以看下数据库的“sort_key”字段,可以模糊查询,比如输入“l”可以查询出大龙和小龙,根据输入,自己拼sql。where sort_key grob *[l]*
㈧ android如何获取通讯录联系人信息,并显示出来
查询数据库,一般联系人的信息都存储在contacts2.db这个数据库中,你可以通过ContentProvider来查询,联系人的信息的表结构比较复杂,不知道你想要查询什么样的信息?
㈨ android开发怎样获取通讯录联系人信息
要获取通讯录的联系人信息,只有通过系统联系人应用的内容提供者,才能访问到联系人数据库,下面有一个代码演示
代码演示
privateArrayList<HashMap<String,String>>readContact(){
//首先,从raw_contacts中读取联系人的id("contact_id")
//其次,根据contact_id从data表中查询出相应的电话号码和联系人名称
//然后,根据mimetype来区分哪个是联系人,哪个是电话号码
UrirawContactsUri=Uri
.parse("content://com.android.contacts/raw_contacts");
UridataUri=Uri.parse("content://com.android.contacts/data");
ArrayList<HashMap<String,String>>list=newArrayList<>();
//从raw_contacts中读取联系人的id("contact_id")
CursorrawContactsCursor=getContentResolver().query(rawContactsUri,
newString[]{"contact_id"},null,null,null);
if(rawContactsCursor!=null){
while(rawContactsCursor.moveToNext()){
StringcontactId=rawContactsCursor.getString(0);
//System.out.println(contactId);
//根据contact_id从data表中查询出相应的电话号码和联系人名称,实际上查询的是视图view_data
CursordataCursor=getContentResolver().query(dataUri,
newString[]{"data1","mimetype"},"contact_id=?",
newString[]{contactId},null);
if(dataCursor!=null){
HashMap<String,String>map=newHashMap<String,String>();
while(dataCursor.moveToNext()){
Stringdata1=dataCursor.getString(0);
Stringmimetype=dataCursor.getString(1);
//System.out.println(contactId+";"+data1+";"
//+mimetype);
if("vnd.android.cursor.item/phone_v2".equals(mimetype)){
map.put("phone",data1);
}elseif("vnd.android.cursor.item/name"
.equals(mimetype)){
map.put("name",data1);
}
}
list.add(map);
dataCursor.close();
}
}
rawContactsCursor.close();
}
returnlist;
}手机联系人图片: