友录步骤
联系人模块:
一,读取联系人
--1.1 获取联系人的读写权限"android.permission.READ_CONTACTS//WRITE_CONTACTS"/>
--1.2 查找Contacts内联系人
1.2.1 Cursor cursor= ContentResolver.query(ContactsContract.Contacts.CONTENT_URI,
String[] projection= {Contacts._ID,Contacts.PHOTO_ID},null, null, null);
1.2.2 遍历cursor,把内容添加到封装类
1.2.3 测试查到的结果
① 在application内配置依赖的的库
<uses-library android:name="android.test.runner"/>
② 在application外配置测试目标
《instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.wwe.d3011"></instrumentation>
③ 新建测试类
--1.3 //继续查找联系人详细信息即data表内的信息
--1.4 缓存联系人信息
1.4.1 缓存联系人头像信息
1.4.2 缓存联系人详细信息
--1.5 构建适配器
--1.6 添加联系人信息
1.6.1 构建Dialog布局
1.6.2 调用 系统的联系人添加功能
Intent intent=new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT);
Uri uri=Uri.parse("tel:"+phone);
intent.setData(uri);
//设置联系人的姓名
intent.putExtra(ContactsContract.Intents.Insert.NAME, name);
--1.7编辑联系人
1.7.1 构建Dialog布局
1.7.2 获取联系内容
1.7.3 //清空联系人在缓存中的数据
ContactManager.clearCache(contact);
1.7.4//调用系统的联系人编辑的组件实现联系人的编辑处理
Intent intent=new Intent(Intent.ACTION_EDIT);
Uri uri=Uri.parse("content://contacts/people/"+contact.getId());
intent.setData(uri);
//编辑完成后直接退系统的activity
intent.putExtra("finishActivityOnSaveCompleted", true);
context.startActivity(intent);
--1.8 删除联系人
1.8.1 //把联系人从数据库里删除
ContactManager.deleteContact(context, contact);
//将数据从适配器中删除
adapter.removeData(contact);