Introduction To Android Contacts Learn to work with the Android contacts database. ; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); // 获取手机联系人 这个permission <uses-permission android:name="android.permission.READ_CONTACTS" /> 运行结果: ? 代码示例 参考推荐: Working With Android Contacts Android Contacts的使用
获取联系人就比较复杂了,其表结构也比较复杂,我们获取联系人的姓名、电话号码、邮箱,要通过3张表去提取 数据库所在位置data-->data中的下面路径 ? ", name='" + name + '\'' + '}'; } } 最后别忘了加上权限 <uses-permission android :name="android.permission.READ_SMS"/> <uses-permission android:name="android.permission.READ_CONTACTS "/> 如过是Android 6.0以上的版本还要动态获取权限 获取联系人的效果图 ? 中找到该联系人的电话号码 * 通过这个ID可以在ContactsContract.CommonDataKinds.Email.CONTENT_URI 找到该联系人的邮箱
精美礼品等你拿!
本期主题聚焦联系人和身份。 重要更新 Android 11 的目标之一是让手机更加 "以人为本",因为与至爱亲朋保持联系对人们而言至关重要。 视频资源 如需要进一步了解这些 "以人为本" 的功能,我们建议您查看关于联系人的 Android 11 发布精选片段。 最后,您还可以收听 Chet 的播客,听听他就 联系人 和 Bubble 与我们的沟通。 开始学习 如果您想要轻松了解本周的要点,请查看 "联系人和身份" 学习计划。 您对 "联系人和身份" 相关关键知识点掌握多少?欢迎加入测试,赢取限量版徽章。 知识点 Android 11 是我们持续优化用户、联系人以及聊天等重要功能的起点。
只要是开发和手机通讯录有关的应用,总要学会获取联系人信息,每次都google很麻烦,怎么办? ; import android.database.Cursor; import android.provider.ContactsContract.CommonDataKinds.Email; import ; import android.provider.ContactsContract.Data; import android.util.Log; /** * * @author larson * * /contacts; // ContactsContract.Data.CONTENT_URI = content://com.android.contacts/data; /** * 获取联系人信息, ,通过id排序,我们看下android联系人的表就知道,所有的联系人的数据是由RAW_CONTACT_ID来索引开的 // 所以,先获取所有的人的RAW_CONTACT_ID Cursor cursor
Android 获取系统联系人信息的实例 一、获取手机联系人姓名及手机号 //跳转到系统联系人应用 Intent intent = new Intent(Intent.ACTION_PICK, "); } 添加权限申请 <uses-permission android:name="android.permission.READ_CONTACTS" / 选择联系人并返回 cursor = getContentResolver().query(contactData, null, null, null, null); //Key联系人姓名 ,Value联系人手机号 Map<String, String phoneMap = this.getContactPhone(cursor); if (! * * @param cursor * @return Key为联系人姓名,Value为联系人手机号 */ private Map<String, String
今天的主题就是仿联系人界面。相信大家在平时都见过,就是可以实现快速索引的侧边栏。比如在美团中选择城市的界面: 美团中选择城市的界面 我们可以看到在右侧有一个支持快速索引的栏。
本文实例为大家分享了Android实现访问联系人的具体代码,供大家参考,具体内容如下 要求: 编写程序,使用ContentProvider实现访问联系人 ContentProvider类的作用: ContentProvider android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract.Contacts; import ="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android :name="android.permission.READ_CONTACTS" / (4)实现效果: 在联系人中添加几个联系人: 运行程序,手机里的所有联系人的ID及名字就会记录下来: ? 运行程序,手机里的所有联系人的ID及名字就会记录下来: ? 以上就是本文的全部内容,希望对大家的学习有所帮助。
下面直接贴代码 1.先写一个实体类,来放名字和号码 public class PhoneDto { private String name; //联系人姓名 > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools " android:layout_height="match_parent" android:id="@+id/lv_main_list"></ListView
在之前项目中有用到关于获取手机联系人的部分,闲置就想和大家分享一下,话不多说,上代码: java部分: package com.example.content; import android.content.ContentResolver ; import android.database.Cursor; import android.net.Uri; import android.support.v7.app.AppCompatActivity <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="获取手机联系人 --获取手机的联系人-- <uses-permission android:name="android.permission.READ_CONTACTS" </uses-permission
本文实例为大家分享了Android实现手机联系人读取和插入的具体代码,供大家参考,具体内容如下 目标效果: ? ? 先在模拟器随便添加两个联系人,运行程序,再打开联系人,发现多了联系人“张三”,并且日志输出了三给安溪人的姓名和手机号码还有号码类型。 ; import android.app.Activity; import android.content.ContentResolver; import android.content.ContentUris ; import android.content.ContentValues; import android.database.Cursor; import android.util.Log; import DISPLAY_NAME")); Log.i("MainActivity","_ID "+id); Log.i("MainActivity","DISPLAY_NAME "+name); /*根据id查询联系人的电话号码
利用AsyncQueryHandler能异步任务获取手机联系人,增加用户体验,使用起来也很方便。不多说,上干货。 布局文件main.xml <? <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com :layout_width="fill_parent" android:layout_height="wrap_content" android:text="获取联系人信息" / int contactId;//联系人ID private String displayName;//联系人姓名 private String phoneNum;//联系人手机号 private URI Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; // 联系人ID,联系人NAME, String[] projection
Android 的SMS读取短信,可以获取发信人/收信人的手机号码(address),Contacts的联系人,可以过滤手机号码(address),因此SMS可以通过手机号码(address)关联到 Contacts联系人 SMS - Contacts 关联代码 // 通过address手机号关联Contacts联系人的显示名字 private String getPeopleNameFromPerson ; import android.util.Log; import android.widget.ScrollView; import android.widget.TextView; public getSmsInPhone", ex.getMessage()); } return smsBuilder.toString(); } // 通过address手机号关联Contacts联系人的显示名字 示例代码 参考推荐: Android 之 Contacts 联系人读取
,他在网络上也存在,这个时候Android就可以识别他们,认为他们两个其实 是指同一个人。 “mimetype”是电话 或者 姓名 的标示符编码: 例如:电话 对应“vnd.android.cursor.item/phone_v2” 姓名 对应“vnd.android.cursor.item/ Uri uri = Uri.parse(“content://com.android.contacts/raw_contacts”); raw_contacts表 该表保存了所有创建过的手机测联系人,每个联系人占一行 3 Uri dataUri = Uri.parse (“content://com.android.contacts/data”); data表 Ø 该表保存了所有创建过的手机测联系人的所有信息,每个字段占一行 Ø 联系人的所有信息保存在列data1至data15中,各列中保存的内容根据MimeTypeID的不同而不同。
前言 因为自己在做的一个小软件里面需要用到从A-Z排序的ListView,所以自然而然的想到了微信的联系人,我想要的就是那样的效果。
上一篇文章讲了如何获取所有联系人,这篇文章就讲下怎么保存联系人数据到本机通讯录。这里我就假设你已经拿到了要保存的联系人数据。 因为是一个工具类,所以我这里就只给一个方法了,也是很简单,但是写的没有读取联系人的数据那么多,要保存更多其实看下如何读取的就会了。 直接上源码: /** * 添加联系人到本机 * * @param context * @param contact * @return */ public static boolean addContact try { ContentValues values = new ContentValues(); // 下面的操作会根据RawContacts表中已有的rawContactId使用情况自动生成新联系人的
本文实例为大家分享了Android读取手机通讯录联系人到项目的具体代码,供大家参考,具体内容如下 一、主界面代码如下: <LinearLayout xmlns:android="http://schemas.android.com /apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android else { readContacts(); } } private void readContacts() { Cursor cursor=null; try { //查询联系人数据 ,使用了getContentResolver().query方法来查询系统的联系人的数据 //CONTENT_URI就是一个封装好的Uri,是已经解析过得常量 cursor=getContentResolver ( ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME )); //获取联系人手机号 String number
读取联系人 新建项目ContactsTest 修改activity_main.xml: <?xml version="1.0" encoding="utf-8"? > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com ; import android.Manifest; import android.content.pm.PackageManager; import android.database.Cursor; =null){ while(cursor.moveToNext()){ //获取联系人姓名 String ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME )); //获取联系人手机号
Outlook联系人组 ? 22.png ? 23.png ? 24.png ? 25.png
记得在我刚接触Android的时候对系统联系人中的特效很感兴趣,它会根据手机中联系人姓氏的首字母进行分组,并在界面的最顶端始终显示一个当前的分组。如下图所示: ? 可以看到,这一列非常人性化地帮我们记录了汉字所对应的拼音,这样我们就可以通过这一列的值轻松为联系人进行排序了。 下面我们就来开始实现,新建一个Android项目,命名为ContactsDemo。 ,用于展示联系人信息。 然后是加入一个简单的LinearLayout,里面包含了一个ImageView用于显示联系人头像,还包含一个TextView用于显示联系人姓名。 最后给出AndroidManifest.xml的代码,由于要读取手机联系人,因此需要加上android.permission.READ_CONTACTS的声明: <manifest xmlns:android
在上一篇文章中,我和大家一起实现了类似于Android系统联系人的分组导航和挤压动画功能,不过既然文章名叫做《Android系统联系人全特效实现》,那么没有快速滚动功能显然是称不上"全"的。 如果还没有看过我上一篇文章,请抓紧去阅读一下 Android系统联系人全特效实现(上),分组导航和挤压动画 。 包括以前老版本的Android联系人中都是使用这种方式来进行快速滚动的。效果如下图所示: ? ; /** * 用于进行字母表分组 */ private AlphabetIndexer indexer; /** * 存储所有手机中的联系人 */ private List 当你的手指在右侧字母表上滑动时,联系人的列表也跟着相应的变动,并在屏幕中央显示一个当前的分组。 现在让我们回数一下,分组导航、挤压动画、字母表快速滚动,Android系统联系人全特效都实现了。
扫码关注腾讯云开发者
领取腾讯云代金券