首页 > 代码库 > Android开发之获取手机通讯录
Android开发之获取手机通讯录
获取手机通讯录是Android最常用的小功能,今天自学到了,记下来,主要是通过系统自带的内容提供者提供的数据,我们使用内容接收者获取相应的数据到cursor中,然后获取对应data表中的字段,相关字段代表什么含义,只能自己去查了。
下面是手机通讯录列表的代码,仅供参考:
package com.andy.phonecontact; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.content.ContentResolver; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.widget.ListView; import android.widget.SimpleAdapter; /** * @author Zhang,Tianyou * @version 2014年11月18日 下午10:00:46 */ public class MainActivity extends Activity { private ListView select_contact; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); select_contact = (ListView) findViewById(R.id.select_contact); List<Map<String, String>> data = http://www.mamicode.com/getContactInfo();>
2 布局文件 在activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.andy.phonecontact.MainActivity" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@+id/select_contact" /> </RelativeLayout>
3 ListView填充布局contact_item_view.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="姓名" android:textColor="#ff0000" android:textSize="22sp" /> <TextView android:id="@+id/tv_phone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@android:drawable/ic_menu_call" android:text="5558" android:textColor="#000000" android:textSize="22sp" /> </LinearLayout>4 添加对应的权限:
<uses-permission android:name="android.permission.READ_CONTACTS"/>Android开发之获取手机通讯录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。