亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

幫我看看,快崩潰了.................

package com.lyxz.contentprovider_demo;


import android.app.Activity;

import android.content.ContentResolver;

import android.database.Cursor;

import android.os.Bundle;

import android.provider.ContactsContract.Contacts;

import android.provider.ContactsContract.Data;

import android.provider.ContactsContract.CommonDataKinds.Email;

import android.provider.ContactsContract.CommonDataKinds.Phone;

import android.util.Log;


public class MainActivity extends Activity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

/**

* 電話通訊錄的查詢

*/

// 使用ContentResolver可以操作ContentProvider<增刪改查>

ContentResolver cr = getContentResolver();

/*

* 查詢方法;第一個屬性uri<導Contacts.的新包> 何為Uri? -Uri是指通用資源標志符

* content://com.imooc.provider/music/#

* content://---前綴表明數據受控于一個內容提供者.它從不修改,也就是schema

* com.imooc.provider---是指在AndroidMainfest.

* xml中我們注冊的provider中的authorities屬性所對應的唯一的 /music---具體操作于哪個條目

* /#---具體指定到哪個條目下的那條記錄(#標識通配符)?

*?

* 第二個屬性projection,為需要查詢的字段

*?

* 后面屬性依次為,查詢條件,排列順序

*?

* 返回類型為,游標

*/

Cursor c = cr.query(Contacts.CONTENT_URI, new String[] { Contacts._ID, Contacts.DISPLAY_NAME }, null, null, null);

//查詢:ID,聯系人姓名

if(c != null){

while(c.moveToNext()){

int id = c.getInt(c.getColumnIndex( Contacts._ID));

Log.i("info", "_id"+id);

Log.i("info", c.getString(c.getColumnIndex(Contacts.DISPLAY_NAME)));

//根據ID查詢電話號碼

Cursor c1 = cr.query(Phone.CONTENT_URI, new String[]{Phone.NUMBER,Phone.CONTENT_TYPE}, Phone.CONTACT_ID+"="+id, null, null);

if(c1 != null){

while(c1.moveToNext()){

int type = c.getInt(c1.getColumnIndex(Phone.CONTENT_TYPE));

if(type == Phone.TYPE_HOME){

Log.i("info", "家庭電話:"+c1.getString(c1.getColumnIndex(Phone.NUMBER)));

}else if(type == Phone.TYPE_MOBILE){

Log.i("info", "手機電話:"+c1.getString(c1.getColumnIndex(Phone.NUMBER)));

}

}

c1.close();

}

//根據ID查詢郵箱地址

Cursor c2 = cr.query(Email.CONTENT_URI, new String[]{Email.DATA,Email.TYPE},Email.CONTACT_ID+"="+id, null, null);

if(c2 != null){

while(c2.moveToNext()){

int type = c2.getInt(c2.getColumnIndex(Data.CONTENT_TYPE));

if(type == Email.TYPE_HOME){

Log.i("info","家庭郵編:"+c2.getColumnName(c2.getColumnIndex(Email.DATA)));

}else if(type == Email.TYPE_WORK){

Log.i("info", "工作郵編:"+c2.getColumnName(c2.getColumnIndex(Email.DATA)));

}

}

c2.close();

}

}

c.close();

}

}

}


正在回答

2 回答

package com.example.howard.demoooo;

import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {
? ?@Override
? ?protected void onCreate(Bundle savedInstanceState) {
? ? ? ?super.onCreate(savedInstanceState);
? ? ? ?setContentView(R.layout.activity_main);
? ? ? ?ContentResolver cr = getContentResolver();
? ? ? ?Cursor c = cr.query(Contacts.CONTENT_URI,new String[] { Contacts._ID, Contacts.DISPLAY_NAME }, null, null, null);
? ? ? ?if(c != null){
? ? ? ? ? ?while(c.moveToNext()){
? ? ? ? ? ? ? ?int id = c.getInt(c.getColumnIndex("_id"));
? ? ? ? ? ? ? ?Log.i("info", "_id"+id);
? ? ? ? ? ? ? ?Log.i("info", c.getString(c.getColumnIndex("display_name")));
? ? ? ? ? ? ? ?Cursor c1 = cr.query(Phone.CONTENT_URI, new String[]{Phone.NUMBER, Phone.TYPE}, Phone.CONTACT_ID+"="+id, null, null);
? ? ? ? ? ? ? ?if(c1 != null){
? ? ? ? ? ? ? ? ? ?while(c1.moveToNext()){
? ? ? ? ? ? ? ? ? ? ? ?int type = c.getInt(c1.getColumnIndex(Phone.TYPE));
? ? ? ? ? ? ? ? ? ? ? ?if(type == Phone.TYPE_HOME){
? ? ? ? ? ? ? ? ? ? ? ? ? ?Log.i("info", "家庭電話:"+c1.getString(c1.getColumnIndex(Phone.NUMBER)));
? ? ? ? ? ? ? ? ? ? ? ?}else if(type == Phone.TYPE_MOBILE){
? ? ? ? ? ? ? ? ? ? ? ? ? ?Log.i("info", "手機電話:"+c1.getString(c1.getColumnIndex(Phone.NUMBER)));
? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ?c1.close();
? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ?Cursor c2 = cr.query(Email.CONTENT_URI, new String[]{Email.DATA, Email.TYPE}, Email.CONTACT_ID+"="+id, null, null);
? ? ? ? ? ? ? ?if(c2 != null){
? ? ? ? ? ? ? ? ? ?while(c2.moveToNext()){
? ? ? ? ? ? ? ? ? ? ? ?int type = c2.getInt(c2.getColumnIndex(Email.TYPE));
? ? ? ? ? ? ? ? ? ? ? ?if(type == Email.TYPE_HOME){
? ? ? ? ? ? ? ? ? ? ? ? ? ?Log.i("info","家庭郵編:"+c2.getColumnName(c2.getColumnIndex(Email.DATA)));
? ? ? ? ? ? ? ? ? ? ? ?}else if(type == Email.TYPE_WORK){
? ? ? ? ? ? ? ? ? ? ? ? ? ?Log.i("info", "工作郵編:"+c2.getColumnName(c2.getColumnIndex(Email.DATA)));
? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ?c2.close();
? ? ? ? ? ? ? ?}
? ? ? ? ? ?}
? ? ? ? ? ?c.close();
? ? ? ?}
? ?}
}



兄弟Phone 和 Email 的 type 是 Phone_TYPE 和 Email_TYPE... 不是CONTACT_TYPE....

0 回復 有任何疑惑可以回復我~
#1

流月汐志 提問者

非常感謝!
2016-06-10 回復 有任何疑惑可以回復我~

666


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第3季)
  • 參與學習       74894    人
  • 解答問題       444    個

手勢識別、數據存儲和4大組件,讓你牢牢掌握之前的基礎知識點

進入課程

幫我看看,快崩潰了.................

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號