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 android:name="android.permission.READ_CONTACTS" /> 运行结果: ?...代码示例 参考推荐: Working With Android Contacts Android Contacts的使用
获取联系人就比较复杂了,其表结构也比较复杂,我们获取联系人的姓名、电话号码、邮箱,要通过3张表去提取 数据库所在位置data-->data中的下面路径 ?...:name="android.permission.READ_SMS"/> android:name="android.permission.READ_CONTACTS..."/> 如过是Android 6.0以上的版本还要动态获取权限 获取联系人的效果图 ?...来获取_ID和DISPLAY_NAME * _ID 该联系人的索引 * 通过这个ID可以在ContactsContract.CommonDataKinds.Phone.CONTENT_URI...中找到该联系人的电话号码 * 通过这个ID可以在ContactsContract.CommonDataKinds.Email.CONTENT_URI 找到该联系人的邮箱
本期主题聚焦联系人和身份。 重要更新 Android 11 的目标之一是让手机更加 "以人为本",因为与至爱亲朋保持联系对人们而言至关重要。...视频资源 如需要进一步了解这些 "以人为本" 的功能,我们建议您查看关于联系人的 Android 11 发布精选片段。...最后,您还可以收听 Chet 的播客,听听他就 联系人 和 Bubble 与我们的沟通。...开始学习 如果您想要轻松了解本周的要点,请查看 "联系人和身份" 学习计划。...您对 "联系人和身份" 相关关键知识点掌握多少?欢迎加入测试,赢取限量版徽章。 知识点 Android 11 是我们持续优化用户、联系人以及聊天等重要功能的起点。
今天的主题就是仿联系人界面。相信大家在平时都见过,就是可以实现快速索引的侧边栏。比如在美团中选择城市的界面: 美团中选择城市的界面 我们可以看到在右侧有一个支持快速索引的栏。...接下来,我们就要实现这种索引栏。 首先是attrs.xml,定义了三个自定义属性: 索引的字母 public static final String[] INDEX_ARRAYS = new String[]{"#", "A", "B", "C", "D",...所以我们要重写onTouchEvent(MotionEvent event): /** * 设置当索引改变的监听器 */ public interface OnIndexChangeListener...{ /** * 当索引改变 * * @param selectIndex 索引值 */ void onIndexChange(int selectIndex
下面直接贴代码 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
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的不同而不同。
-- 读取联系人权限 --> android:name="android.permission.READ_CONTACTS"/> 2、获取代码 new Thread...String linStr = ""; while (cursor.moveToNext()) { //取得联系人名字
读取联系人 新建项目ContactsTest 修改activity_main.xml: 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的时候对系统联系人中的特效很感兴趣,它会根据手机中联系人姓氏的首字母进行分组,并在界面的最顶端始终显示一个当前的分组。...我们来看一下系统联系人的raw_contacts这张表(/data/data/com.android.providers.contacts/databases/contacts2.db),这个表结构比较复杂...,用于展示联系人信息。...然后是加入一个简单的LinearLayout,里面包含了一个ImageView用于显示联系人头像,还包含一个TextView用于显示联系人姓名。...最后给出AndroidManifest.xml的代码,由于要读取手机联系人,因此需要加上android.permission.READ_CONTACTS的声明: android
在上一篇文章中,我和大家一起实现了类似于Android系统联系人的分组导航和挤压动画功能,不过既然文章名叫做《Android系统联系人全特效实现》,那么没有快速滚动功能显然是称不上"全"的。...如果还没有看过我上一篇文章,请抓紧去阅读一下 Android系统联系人全特效实现(上),分组导航和挤压动画 。...包括以前老版本的Android联系人中都是使用这种方式来进行快速滚动的。效果如下图所示: ?...; /** * 用于进行字母表分组 */ private AlphabetIndexer indexer; /** * 存储所有手机中的联系人 */ private List...当你的手指在右侧字母表上滑动时,联系人的列表也跟着相应的变动,并在屏幕中央显示一个当前的分组。 现在让我们回数一下,分组导航、挤压动画、字母表快速滚动,Android系统联系人全特效都实现了。
/raw_contacts”)方法, while循环Cursor对象,条件是Cursor对象moveToNext()方法为真 调用Cursor对象的getString()方法,参数是索引 判断不为null.../data”) 循环和上面一样 姓名对应的类型是vnd.android.cursor.item/name 电话对应的类型是vnd.android.cursor.item/phone_v2 需要权限,android.permisssion.READ_CONTACTS...; import android.content.Context; import android.database.Cursor; import android.net.Uri; /** * 读取手机联系人.../raw_contacts"); Uri dataUri=Uri.parse("content://com.android.contacts/data"); List> contacts=new ArrayList>(); //循环联系人表 Cursor
Android快速索引条控件 效果展示 代码实现 自定义view,画出静态的图形 在canvas上指定好位置,用各种画笔Paint,重要的是分析的过程。...break; } //自行处理触摸事件,不向上传递 return true; } /** * 当前的索引位置是否和上一个相等
调用系统联系人列表 Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); startActivityForResult... } 11 } 12 super.onActivityResult(requestCode, resultCode, intent); 13 } 解析联系人信息
React Native通讯录联系人组件,名叫:react-native-contacts,可以用来增加、读取、修改、删除、搜索手机通讯录中的联系人信息,兼容IOS和安卓双平台。...Android权限配置 在android/app/src/main/AndroidManifest.xml中增加以下权限: android:name="android.permission.READ_PROFILE..." /> android:name="android.permission.READ_CONTACTS" /> android...:name="android.permission.WRITE_CONTACTS" /> 支持的方法 ?...,getAll方法会比较慢,作者建议先获取好所有联系人,存储在本地数据库中。
如下,通过添加一个联系人来向大家做演示: 1、联系人对象:CNContact 这个对象是用来配置联系人信息的,有可变的CNMutaleContact和CNContact,区别用来读取和创建联系人。...:CNSaveRequest CNSaveRequest是用于存储联系人的请求类,通过这个类,我们可以创建批量添加、修改或者删除联系人的请求,例如添加上面我们创建的联系人对象: //初始化方法 ...联系人详情: ?...三、获取格式化的联系人信息 iOS9中,ContactFramework也为开发者提供了非常方便的格式化信息的方法,还拿我们上面创建的联系人对象举例: 1、获取格式化的联系人姓名 NSString...四、提取联系人 在开发中,提取联系人的使用率要远远高于创建联系人,ContactFramework提取联系人的方式,类似于数据库的检索方式,通过配置条件,提取出我们需要的数据,例如:
内容提供是实质上是个接口,后门,他给别人提供数据,系统联系人是个比较复杂的内容通过者。...-journal,这个文件和数据库的事务相关 联系人应用数据库的主要结构 raw_contacts 联系人表 contact_id 联系人id data数据表 raw_contact_id联系人id,...mimetype_id数据类id,data1数据 mimetypes类型表 1 email,5 phone,7 name 查询所有的联系人信息: 查询raw_contacts表把联系人id取出来 根据id...和值new String[]{id} 世面上的很多应用都是取出了联系人的信息,社交应用一般都有发送信息给对方,读取系统联系人 需要定义权限:android:name=".../raw_contacts"); Uri dataUri=Uri.parse("content://com.android.contacts/data"); //循环联系人表
Android自定义View实践篇,之前介绍了一篇view+动画实践篇, 本文让你把各种老师撸在一起! ?...写在开头 这是自定义View的第三篇文章,主要讲的是Android drawTextOnPath()的相关方法,以及属性动画相关的使用。当然个人觉得动画效果还是阔以的 嘻嘻。。...开门见山-IndexBar 不管是在QQ上,还是在163的邮箱中,或者自己手机的通讯录中,右侧都会躺着一个这个玩意儿,我姑且不造官方有没有相关的东西,或者大家约定俗成的称呼这个玩意儿叫什么,反正我就叫它索引条...触摸的相关状态添加 首先是触摸到这个索引条,背景加深,这个肯定就是走touch事件了嘛,在ACTION_DOWN的时候修改相关状态,在ACTION_UP的时候,再次刷新相关状态咯。...//定义一个状态 private static final int[] STATE_FOCUSED = new int[]{ android.R.attr.state_focused};//
你可以在“联系人”对话框里面填写各类资料,甚至可以将联系人的头像导入进来。 ? 为了能让“联系人”列表发挥强大的功能,建议你填写的越详细越好,例如联系人的生日、头衔和绰号等。...方法一:用字母定位 “联系人”列表中的联系人是按照姓氏拼音的开头字母的前后顺序排列的。所以,使用“拼音索引”按钮可以很快寻找到联系人。...在联系人区域的最右边单击联系人名字的第一个字母,可以快速定位联系人。 ? 方法二:按单位排列 在联系人的项目预览区将“当前视图”由“地址卡”改为“按单位”,可以按照联系人所在的单位不同进行快速查找。...在“联系人”窗口中右击联系人条目,执行快捷菜单中的【类别】命令,即可弹出“类别”对话框,在这里,你可以为这位联系人设定属于哪种类别。联系人的分类不是唯一的,你可以为一个联系人指定属于多个不同的类别。...如何查看与联系人的各种信息往来? 在“联系人”视图中,双击想要查看的联系人信息,打开联系人对话框中的“活动”标签。
领取专属 10元无门槛券
手把手带您无忧上云