真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android如何獲取手機(jī)聯(lián)系人的數(shù)據(jù)庫示例代碼

很多人在做手機(jī)聯(lián)系人的apk時(shí)會(huì)遇到,如何獲取手機(jī)聯(lián)系人數(shù)據(jù)庫的問題,在這里我就簡單的將代碼寫一下

創(chuàng)新互聯(lián)公司是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、小程序定制開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立10余年以來,已經(jīng)為上千多家咖啡廳設(shè)計(jì)各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的上千多家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。

package com.example.song.lx_day14_contacts; 
 
import android.content.ContentResolver; 
import android.database.Cursor; 
import android.net.Uri; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.widget.ListView; 
import android.widget.SimpleAdapter; 
import android.widget.TextView; 
 
import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 
import java.util.Map; 
 
/** 
 * 獲取手機(jī)通訊錄信息 展示并且修改 
 * listview 
 * simpleadapter 
 * list> 
 */ 
public class MainActivity extends AppCompatActivity { 
  private String uri_raw = "content://com.android.contacts/raw_contacts"; 
  //直接獲取data表中的 數(shù)據(jù)類型是phone 
  private String uri_phone = "content://com.android.contacts/data/phones"; 
  //直接獲取data表中數(shù)據(jù)類型是emali 
  private String uri_emalis = "content://com.android.contacts/data/emails"; 
  private String uri_data = "content://com.android.contacts/data"; 
  private ListView listView; 
  private TextView empty; 
  private SimpleAdapter adapter; 
  private List> data = new ArrayList<>(); 
  private ContentResolver contentResolver;//用來訪問數(shù)據(jù) 
 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    listView = ((ListView) findViewById(R.id.lv)); 
    empty = ((TextView) findViewById(R.id.empty)); 
    listView.setEmptyView(empty);//設(shè)置空視圖 
    adapter = new SimpleAdapter(this, data, R.layout.item, new String[]{"_id", "display_Name", "data1"}, new int[]{R.id.id, R.id.name, R.id.number}); 
    listView.setAdapter(adapter); 
    contentResolver = getContentResolver(); 
    reloadListView(); 
  } 
 
  private void reloadListView() { 
    data.clear(); 
    data.addAll(selectData()); 
    adapter.notifyDataSetChanged(); 
 
  } 
 
  //查詢工作 用于查詢data raw_contact標(biāo) 返回list數(shù)據(jù) 在刷新adapter 
  private List> selectData() { 
    /** 
     * 1.先查詢r(jià)aw 獲取_id查出所有聯(lián)系人 
     * 2.循環(huán)查詢-->根據(jù)_id去data表中(_id=raw_contacts_id)查詢 data1數(shù)據(jù) 
     */ 
    Cursor cursor = contentResolver.query(Uri.parse(uri_raw), new String[]{"_id", "display_name"}, null, null, null); 
    //cursor返回的cursor數(shù)量不定 
    List> list = new ArrayList<>(); 
    while (cursor != null && cursor.moveToNext()) { 
      String _id = cursor.getString(0); 
      String displayName = cursor.getString(1); 
      Map map = new HashMap<>(); 
      map.put("_id", _id); 
      map.put("display_Name", displayName); 
      //根據(jù)_id 去data查手機(jī)號(hào) 
      Cursor cursor1 = contentResolver.query(Uri.parse(uri_phone), new String[]{"data1"}, "raw_contact_id=?", new String[]{_id}, null); 
      //循環(huán)拿到手機(jī)號(hào) 
      StringBuffer sb = new StringBuffer(); 
      //這里循環(huán)拿到手機(jī)號(hào)是因?yàn)橛袝r(shí)聯(lián)系人中 你可能一個(gè)人有幾個(gè)電話 
      while (cursor1 != null && cursor1.moveToNext()) { 
        sb.append(cursor1.getString(0) + "\n"); 
      } 
      cursor1.close(); 
      map.put("data1", sb.toString()); 
      list.add(map); 
    } 
    cursor.close(); 
    return list; 
  } 
} 

在這里不要忘記了添加權(quán)限

 
 

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


當(dāng)前文章:android如何獲取手機(jī)聯(lián)系人的數(shù)據(jù)庫示例代碼
本文網(wǎng)址:http://weahome.cn/article/iehcii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部