最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年07月25日 11:21:55   作者:青蛙小王子  
這篇文章主要介紹了Android編程操作手機通訊錄的方法,涉及Android權(quán)限控制及通訊錄讀取等相關(guān)操作技巧,需要的朋友可以參考下

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

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

1. 要操作通信錄就要得到授權(quán),也就是讀或者寫通訊錄的權(quán)力。這里也需要使用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. 開始取得通訊錄里的內(nèi)容,主要就是名稱,號碼,郵箱

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);
   //取得通訊錄里的內(nèi)容
   while(cursor.moveToNext()){
     StringBuffer buf=new StringBuffer(); //實例化一個可變字符串StringBuffer
     //取得聯(lián)系人id,每個條目都有一個唯一的id(主鍵)
     String contactId=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
     //取得聯(lián)系人的顯示名稱
     String name=cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
     buf.append("id:"+contactId).append(",name:"+name);
     //取得聯(lián)系人的號碼
     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();
     //取得聯(lián)系人的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為主鍵,后面的表用它作為外鍵。至于刪除和其他操作你們可以自己看文檔。我這里就不說了。

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android布局layout技巧總結(jié)》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)

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

相關(guān)文章

  • Android地圖控件之多地圖展示

    Android地圖控件之多地圖展示

    這篇文章主要為大家詳細介紹了Android地圖控件之多地圖展示,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • RecyclerView滑動到指定Position的方法

    RecyclerView滑動到指定Position的方法

    這篇文章主要為大家詳細介紹了RecyclerView滑動到指定Position的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Android自定義圓點指示器

    Android自定義圓點指示器

    這篇文章主要為大家詳細介紹了Android自定義圓點指示器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Android HTTP網(wǎng)絡(luò)請求的異步實現(xiàn)

    Android HTTP網(wǎng)絡(luò)請求的異步實現(xiàn)

    這篇文章主要介紹了Android HTTP網(wǎng)絡(luò)請求的異步實現(xiàn),感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android編程實現(xiàn)仿iphone抖動效果的方法(附源碼)

    Android編程實現(xiàn)仿iphone抖動效果的方法(附源碼)

    這篇文章主要介紹了Android編程實現(xiàn)仿iphone抖動效果的方法,結(jié)合實例形式分析了仿iphone抖動效果的頁面布局及功能實現(xiàn)技巧,并附帶實例源碼供讀者下載,需要的朋友可以參考下
    2015-11-11
  • Android開發(fā)中播放聲音的兩種方法分析

    Android開發(fā)中播放聲音的兩種方法分析

    這篇文章主要介紹了Android開發(fā)中播放聲音的兩種方法,結(jié)合實例形式簡單分析了Android音頻播放的常用函數(shù)、使用方法及相關(guān)注意事項,需要的朋友可以參考下
    2017-09-09
  • 創(chuàng)建子線程對Android進行網(wǎng)絡(luò)訪問

    創(chuàng)建子線程對Android進行網(wǎng)絡(luò)訪問

    這篇文章介紹了Android中創(chuàng)建子線程進行網(wǎng)絡(luò)訪問的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考
    2021-11-11
  • Android啟動相機拍照并返回圖片

    Android啟動相機拍照并返回圖片

    Android啟動相機拍照并返回圖片,事先定義拍照方法,在啟動拍照之前先判斷內(nèi)存是否可用,通過重寫onactivityresult()方法,獲取拍好的圖片。對下文感興趣的朋友可以參考下
    2015-10-10
  • Android下使用TCPDUMP實現(xiàn)數(shù)據(jù)抓包教程

    Android下使用TCPDUMP實現(xiàn)數(shù)據(jù)抓包教程

    這篇文章主要介紹了Android下使用TCPDUMP實現(xiàn)數(shù)據(jù)抓包教程,本文講解使用抓包工具tcpdump抓取數(shù)據(jù),然后使用Wireshark來分析數(shù)據(jù),需要的朋友可以參考下
    2015-02-02
  • Android評論功能的實現(xiàn)過程

    Android評論功能的實現(xiàn)過程

    這篇文章為大家詳細介紹了Android評論功能的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08

最新評論

荣昌县| 平利县| 石台县| 南京市| 翁牛特旗| 灵璧县| 富川| 周至县| 鸡东县| 家居| 祁东县| 启东市| 旬阳县| 清河县| 济源市| 和平区| 息烽县| 新泰市| 连州市| 项城市| 和顺县| 东城区| 崇仁县| 兰州市| 宿州市| 连平县| 夏津县| 黄浦区| 湘潭县| 永济市| 闽清县| 台南市| 莱西市| 延吉市| 隆回县| 灵寿县| 教育| 松溪县| 瑞丽市| 青州市| 科技|