Android通讯录管理(获取联系人、通话记录、短信消息)
2014年2月26日 通讯录开发研究学习
前言:前阵子主要是记录了如何对联系人的一些操作,比如搜索,全选、反选和删除等在实际开发中可能需要实现的功能,本篇博客是小巫从一个别人开源的一个项目抽取出来的部分内容,把它给简化出来,可以让需要的朋友清楚知道如何对Android数据库操作,异步查询数据库获取我们需要的内容。由于内容比较多,我将分三篇博客来讲述获取联系人、通话记录、短信消息的实现。
也许你根本就没耐心看,源码在这里
http://download.csdn.net/detail/wwj_748/6962865,骚年去下吧。
上面的是获取联系人的界面效果,实现分组显示联系人,快速索引条查找联系人,下面是实现:
从权限开始:
<!-- 读联系人权限 --> <uses-permission android:name="android.permission.READ_CONTACTS" /> <!-- 写联系人权限 --> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <!-- 拨号权限 --> <uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 读短信权限 --> <uses-permission android:name="android.permission.READ_SMS" />
界面布局:
/Contact_Demo/res/layout/contact_list_view.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/contact_list_view" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" > <com.suntek.contact.view.SlidingLinearLayout android:id="@+id/slidingview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" > <ListView android:id="@+id/contact_list" android:layout_width="match_parent" android:layout_height="match_parent" android:cacheColorHint="#000000" android:divider="#00000000" android:fadingEdge="none" android:scrollbars="none" android:scrollingCache="false" android:visibility="visible" /> </com.suntek.contact.view.SlidingLinearLayout> <com.suntek.contact.view.QuickAlphabeticBar android:id="@+id/fast_scroller" android:layout_width="22dp" android:layout_height="match_parent" android:layout_alignParentRight="true" android:layout_gravity="top|right|center" android:layout_marginTop="0dip" android:background="@null" android:scaleType="centerInside" android:src="@drawable/dic_background" > </com.suntek.contact.view.QuickAlphabeticBar> <TextView android:id="@+id/fast_position" android:layout_width="70dip" android:layout_height="70dip" android:layout_centerInParent="true" android:layout_gravity="center_horizontal|top" android:layout_margin="34dip" android:background="@drawable/sort_icon_bg_click" android:gravity="center" android:padding="2dip" android:textColor="#404040" android:textSize="48dip" android:visibility="invisible" /></RelativeLayout>
/Contact_Demo/res/layout/contact_list_item.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > <!-- 首字母 --> <TextView android:id="@+id/alpha" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#333333" android:paddingLeft="10dip" android:textColor="#FFFFFF" android:visibility="gone" /> <!-- 联系人信息 -->