Contacts Provider

来源:互联网 发布:日文翻译软件 编辑:程序博客网 时间:2024/05/18 12:40

Contacts Provider是Android中一个强大并且灵活的组件,负责管理系统通讯录的数据,对外提供访问接口来对系统通讯录进行访问和操作。

首先是MainActivity.class代码:

package com.example.contactstest;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.provider.ContactsContract;import android.widget.ArrayAdapter;import android.widget.ListView;import android.app.Activity;import android.database.Cursor;public class MainActivity extends Activity {ListView contactsView;ArrayAdapter<String> adapter;List<String> contactsList = new ArrayList<String>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);contactsView = (ListView) findViewById(R.id.contacts_view);adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, contactsList);contactsView.setAdapter(adapter);readContacts();}private void readContacts() {Cursor cursor = null;try {cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null, null, null, null);while (cursor.moveToNext()) {String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));contactsList.add(displayName + "\n" + number);}} catch (Exception e) {e.printStackTrace();} finally {if (cursor != null) {cursor.close();}}}}
然后是activity_main.xml代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <ListView        android:id="@+id/contacts_view"        android:layout_width="match_parent"        android:layout_height="match_parent" >    </ListView></LinearLayout>
这个demo是来自第一行代码例子demo

demo作用是获取联系人信息显示在listview中。以此记录,以后查阅。



原创粉丝点击