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

Android ContentProvider查看/讀取手機(jī)聯(lián)系人實(shí)例

 更新時(shí)間:2017年02月10日 08:15:28   作者:via_myra  
本篇文章主要介紹了Android ContentProvider查看/讀取手機(jī)聯(lián)系人實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

看到某些App里面有讀取聯(lián)系人的功能,然后自己嘗試了一下。發(fā)現(xiàn)這個(gè)挺簡單的。然后自己就做了一個(gè)demo給大家,希望借這個(gè)demo可以讓大家學(xué)習(xí)一下怎么實(shí)現(xiàn)讀取手機(jī)聯(lián)系人。

這里我用了兩種方法去讀?。旱谝粡垐D片是跳轉(zhuǎn)到系統(tǒng)自帶的聯(lián)系人界面,第二種就是直接去讀取讓后綁上來顯示在主頁面。話不多說直接上代碼。

記得在AndroidManifest.xml 記得加入這兩句,不然就讀取不到聯(lián)系人。

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
package com.example.android_contentersolver;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts;
import android.provider.ContactsContract;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.main_btn).setOnClickListener(new OnClickListener() { 
      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        //查詢聯(lián)系人號(hào)碼
        final Cursor cursor = getContentResolver()
            .query(ContactsContract.CommonDataKinds
            .Phone.CONTENT_URI, null, null, null, null);

         BaseAdapter adapter = new BaseAdapter()
         {
           @Override
           public int getCount()
           {
             return cursor.getCount();
           }

           @Override
           public Object getItem(int position)
           {
             return position;
           }

           @Override
           public long getItemId(int position)
           {
             return position;
           }

           @Override
           public View getView(int position,
               View convertView, ViewGroup parent)
             {
               cursor.moveToPosition(position);
//               CheckBox rb = new CheckBox(MainActivity.this);
               TextView text=new TextView(MainActivity.this);
               // 獲取聯(lián)系人的電話號(hào)碼,并去掉中間的中劃線、空格
               String number = cursor
                 .getString(cursor.getColumnIndex(
                 ContactsContract.CommonDataKinds
                 .Phone.NUMBER))
                 .replace("-", "")
                 .replace(" ", "");
//               rb.setText(number);
               String name = cursor
                   .getString(cursor.getColumnIndex(
                   ContactsContract.CommonDataKinds
                   .Phone.DISPLAY_NAME));
                text.setText("名字:"+name+"  電話號(hào)碼:"+number);


               return text;
             }
         };

       //加載listview
       ListView listview=(ListView) findViewById(R.id.mian_list);
       listview.setAdapter(adapter);
      }
    });


    //跳轉(zhuǎn)系統(tǒng)的聯(lián)系人界面
    findViewById(R.id.main_btn_sys).setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent intent=new Intent();
        intent.setAction(intent.ACTION_PICK);
        intent.setType("vnd.android.cursor.dir/phone");
        startActivityForResult(intent, 0x100);
      }
    });
  }

  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  // TODO Auto-generated method stub
  super.onActivityResult(requestCode, resultCode, data);
    Uri uri=data.getData();
    Cursor cursor = getContentResolver()
        .query(uri, null, null, null, null);
    while(cursor.moveToNext()){
      String name=cursor.getString(cursor.getColumnIndexOrThrow(Contacts.Phones.NAME));
      String number=cursor.getString(cursor.getColumnIndexOrThrow(Contacts.Phones.NUMBER));
      TextView textview=(TextView) findViewById(R.id.mian_lists);
      textview.setText("名字:"+name+"  電話號(hào)碼:"+number);
    }
  }



}

這是主界面

這里寫圖片描述

這里寫圖片描述

這里寫圖片描述

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • android 日志文件LogUtils實(shí)例

    android 日志文件LogUtils實(shí)例

    這篇文章主要介紹了android 日志文件LogUtils實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Android startService的使用與Service生命周期案例詳解

    Android startService的使用與Service生命周期案例詳解

    這篇文章主要介紹了Android startService的使用與Service生命周期案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Android三種常見的圖片壓縮方式

    Android三種常見的圖片壓縮方式

    在開發(fā)中,我們經(jīng)常有這樣一種需求,從相冊(cè)選擇圖片,上傳到服務(wù)器。隨著手機(jī)像素的不斷提升,照片也是小一點(diǎn)的3,4兆,大一點(diǎn)的多大10多兆。如果直接上傳原圖,會(huì)增大服務(wù)器壓力,所以,在上傳之前對(duì)圖片壓縮就顯得很必要了。
    2021-05-05
  • Android 自定義彈出菜單和對(duì)話框功能實(shí)例代碼

    Android 自定義彈出菜單和對(duì)話框功能實(shí)例代碼

    Android 開發(fā)當(dāng)中,可能會(huì)存在許多自定義布局的需求,比如自定義彈出菜單(popupWindow),以及自定義對(duì)話框(Dialog)。下面通過本文給大家介紹Android 自定義彈出菜單和對(duì)話框功能實(shí)例代碼,感興趣的朋友一起看看吧
    2017-08-08
  • Android BSearchEdit 搜索結(jié)果選擇框的實(shí)例代碼

    Android BSearchEdit 搜索結(jié)果選擇框的實(shí)例代碼

    EditText搜索結(jié)果下拉框、自動(dòng)or回調(diào)模式、可diy、使用超簡便。這篇文章主要介紹了Android BSearchEdit 搜索結(jié)果選擇框的實(shí)例代碼,需要的朋友可以參考下
    2019-10-10
  • Android 自定義view實(shí)現(xiàn)水波紋動(dòng)畫效果

    Android 自定義view實(shí)現(xiàn)水波紋動(dòng)畫效果

    這篇文章主要介紹了 Android 自定義view實(shí)現(xiàn)水波紋動(dòng)畫效果的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-01-01
  • 深入分析Android NFC技術(shù) android nfc開發(fā)

    深入分析Android NFC技術(shù) android nfc開發(fā)

    本篇文章我們對(duì)android開發(fā)中nfc技術(shù)做了全面的原理分析以及實(shí)現(xiàn)過程,需要的讀者們一起參考一下吧。
    2017-11-11
  • flutter直接上傳文件到阿里云oss

    flutter直接上傳文件到阿里云oss

    上傳視頻到oss,之前是走后端上傳到oss,會(huì)有一個(gè)問題就是我要先上傳給后端,后端再上傳給oss就會(huì)導(dǎo)致上傳多次,消耗時(shí)間過長影響用戶體驗(yàn),所以我參考文檔寫了直接上傳到阿里云oss獲取到文件訪問路徑。
    2021-05-05
  • android仿即刻點(diǎn)贊文字部分的自定義View的示例代碼

    android仿即刻點(diǎn)贊文字部分的自定義View的示例代碼

    本篇文章主要介紹了android仿即刻點(diǎn)贊文字部分的自定義View的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Android Studio 3.0的下載安裝教程

    Android Studio 3.0的下載安裝教程

    Android Studio從3.0版本新增了許多功能,當(dāng)然首當(dāng)其沖就是從3.0版本新增了對(duì) Kotlin 開發(fā)語言的支持,除此之外還有其他一些新功能,今天我們主要來看看如何更新Android Studio 3.0
    2017-10-10

最新評(píng)論

军事| 天峻县| 化德县| 红桥区| 夏津县| 武义县| 东阿县| 北川| 马龙县| 东安县| 连州市| 利津县| 来宾市| 铜陵市| 闻喜县| 龙陵县| 佳木斯市| 伊金霍洛旗| 南平市| 客服| 黄龙县| 中牟县| 泽普县| 湛江市| 偃师市| 和静县| 鄢陵县| 白朗县| 濉溪县| 凯里市| 莱州市| 买车| 金乡县| 林西县| 宁波市| 沐川县| 麦盖提县| 巫溪县| 永登县| 漾濞| 广水市|