国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程操作手機通訊錄的方法示例

2019-10-22 18:31:37
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程操作手機通訊錄的方法。分享給大家供大家參考,具體如下:

手機通訊錄的操作是經常被用到的,例如添加聯系人,刪除聯系人或者取得聯系人信息。類似的操作還有收藏夾的操作,下面就針對通訊錄的操作來做個小例子。同樣的這次也會使用到內容提供者的知識。

1. 要操作通信錄就要得到授權,也就是讀或者寫通訊錄的權力。這里也需要使用Junit

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="org.lxh.contact" android:versionCode="1" android:versionName="1.0">  <application android:icon="@drawable/icon" android:label="@string/app_name">    <uses-library android:name="android.test.runner" />  </application>  <uses-sdk android:minSdkVersion="8" />  <instrumentation android:name="android.test.InstrumentationTestRunner"    android:targetPackage="org.lxh.contact" android:label="TestforMyApp" />  <uses-permission android:name="android.permission.READ_CONTACTS" />  <uses-permission android:name="android.permission.WRITE_CONTACTS" /></manifest>

2. 開始取得通訊錄里的內容,主要就是名稱,號碼,郵箱

package org.lxh.contact;import android.content.ContentResolver;import android.database.Cursor;import android.net.Uri;import android.provider.ContactsContract;import android.test.AndroidTestCase;import android.util.Log;public class TestContact extends AndroidTestCase{ //junit測試類 public void testFind() throws Throwable{   Uri uri=ContactsContract.Contacts.CONTENT_URI; //通訊錄的uri,這是推薦的常量   ContentResolver resol=this.getContext().getContentResolver();   Cursor cursor=resol.query(uri, null, null, null, null);   //取得通訊錄里的內容   while(cursor.moveToNext()){     StringBuffer buf=new StringBuffer(); //實例化一個可變字符串StringBuffer     //取得聯系人id,每個條目都有一個唯一的id(主鍵)     String contactId=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));     //取得聯系人的顯示名稱     String name=cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));     buf.append("id:"+contactId).append(",name:"+name);     //取得聯系人的號碼     Cursor phone=resol.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+" = "+contactId,null,null);     while(phone.moveToNext()){       String phonum=phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));       buf.append(phonum);     }     phone.close();     //取得聯系人的email     Cursor email=resol.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI ,null,ContactsContract.CommonDataKinds.Email.CONTACT_ID+" = "+contactId,null,null);     while(email.moveToNext()){       String mail=email.getString(email.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));       buf.append(",mail:"+mail);     }     email.close();     Log.i("TestContact",buf.toString());   }   cursor.close(); }}

看這個查詢過程可以知道,其實這里有2張表,一張存著id和name,一張存著號碼,郵箱之類的信息。id為主鍵,后面的表用它作為外鍵。至于刪除和其他操作你們可以自己看文檔。我這里就不說了。

 

希望本文所述對大家Android程序設計有所幫助。



注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 竹溪县| 富顺县| 乌拉特中旗| 辛集市| 平南县| 若尔盖县| 灵丘县| 云南省| 双流县| 隆尧县| 南宫市| 奎屯市| 临江市| 富源县| 绥中县| 睢宁县| 曲阳县| 安塞县| 遂溪县| 延庆县| 出国| 阳曲县| 中牟县| 柞水县| 泰州市| 昌平区| 闽清县| 双桥区| 丹凤县| 仁怀市| 邮箱| 舟山市| 鲁山县| 和林格尔县| 攀枝花市| 黄浦区| 邵阳县| 喀喇沁旗| 滨海县| 嘉黎县| 高邑县|