列出联系人的信息

发布时间:2016-12-11 2:53:02 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"列出联系人的信息",主要涉及到列出联系人的信息方面的内容,对于列出联系人的信息感兴趣的同学可以参考一下。

  联系人是一个单独的程序,可以通过ContentProvider访问联系人信息。   ContenProvider可以将一个应用程序的数据交给外部处理,   使用SimpleCursorAdapter类可以对Curosr进行封装,并组件显示。       在main.xml中:   <?xml version="1.0" encoding="utf-8"?> <LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android"   android:orientation="vertical"   android:layout_width="fill_parent"   android:layout_height="fill_parent"   android:gravity="center_horizontal"   android:background="#000000">   <TextView      android:id="@+id/mainInfo"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:textColor="#ffffff"      android:text="手机联系人列表"/>   <ListView      android:id="@+id/contactList"      android:background="#0066ff"      android:layout_width="fill_parent"      android:layout_height="fill_parent"/> </LinearLayout>               新建布局文件contacts.xml:   <?xml version="1.0" encoding="utf-8"?> <TableLayout   xmlns:android="http://schemas.android.com/apk/res/android"   android:orientation="vertical"   android:layout_width="fill_parent"   android:layout_height="fill_parent"   android:background="#0066ff">   <TableRow >      <TextView        android:id="@+id/_id"        android:gravity="center_vertical"        android:layout_width="wrap_content"        android:layout_height="30dp"        android:layout_marginLeft="16dp"        android:textColor="#ffffff"/>      <TextView        android:id="@+id/name"        android:gravity="center_vertical"        android:textColor="#ffffff"        android:layout_width="wrap_content"        android:layout_height="30dp"        android:layout_marginLeft="8dp"/>   </TableRow> </TableLayout>         在主Activity(ContentsDemo.java)中:   package com.li.contactsproject;   import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;   import android.os.Bundle; import android.provider.ContactsContract; import android.app.Activity; import android.database.Cursor; import android.view.Menu; import android.view.MenuItem; import android.widget.ListView; import android.widget.SimpleAdapter; import android.support.v4.app.NavUtils;   public class ContentsDemo extends Activity {   private Cursor result = null; //查询返回的结果   private ListView contactsList = null; //定义ListView组件   private List<Map<String,Object>> allContacts = null;   private SimpleAdapter simple = null;     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         super.setContentView(R.layout.main);         this.contactsList = (ListView)super.findViewById(R.id.contactList);         this.result = super.getContentResolver().query(ContactsContract            .Contacts.CONTENT_URI, null, null, null, null);    //查询         super.startManagingCursor(this.result);   //将结果集交给容器管理         this.allContacts = new ArrayList<Map<String,Object>>();   //实例化List集合         for(this.result.moveToFirst();!this.result.isAfterLast();            this.result.moveToNext()){    //取出结果集中的每一个内容         Map<String,Object> contact = new HashMap<String, Object>();         contact.put("_id",this.result.getInt(this.result              .getColumnIndex(ContactsContract.Contacts._ID)));         contact.put("name",this.result.getString(this.result              .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)));         this.allContacts.add(contact);         this.simple = new SimpleAdapter(this,this.allContacts,              R.layout.contacts,new String[]{"_id","name"},new int[]{              R.id._id,R.id.name});         this.contactsList.setAdapter(this.simple);                 }             }   }       在AndroidManifest.xml中修改权限:   <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.li.contactsproject"     android:versionCode="1"     android:versionName="1.0" >       <uses-sdk         android:minSdkVersion="8"         android:targetSdkVersion="15" />       <application         android:icon="@drawable/ic_launcher"         android:label="@string/app_name"         android:theme="@style/AppTheme" >         <activity             android:name=".ContentsDemo"             android:label="@string/title_activity_contents_demo" >             <intent-filter>                 <action android:name="android.intent.action.MAIN" />                   <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>     </application>   <uses-permission android:name="android.permission.READ_CONTACTS"/>   <uses-permission android:name="android.permission.WRITE_CONTACTS"/> </manifest>  

上一篇:oracle小技巧:字符串原样输出
下一篇:字符设备的注册(struct cdev结构体的使用解释)

相关文章

相关评论