码迷,mamicode.com
首页 > 其他好文 > 详细

应用解析Content Provider

时间:2016-05-12 23:27:16      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

Content Provider
Android中每一个应用程序都运行在各自的进程中,当一个应用需要返回其他应用的数据时,也就是需要数据在不同的虚拟机之间传递,所以Google引入了Content Provider(内容提供者)来解决不同应用包之间的数据共享

  • 在Android中content Provider是一个特殊的存储数据类型,它提供了一套标准的接口用来获取和操作数据, Android自身也是提供了contentprovider:contacts,Brower,CallLog,MediaStore。应用可以通过唯一的 Content Provider 界面来使用具体的某个 Content Provider,然后就可以调用 ContentResolver 提供的方法来使用你需要的 Content Provider了。
  • `package com.example.mybutton;

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.media.Image;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.List;

public class MainActivity extends AppCompatActivity {
private TextView mTextView;
private String text=”“;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mTextView= (TextView) findViewById(R.id.text_view);
    ContentResolver cr=getContentResolver();
    Cursor cursor=cr.query(ContactsContract.Contacts.CONTENT_URI,
            null, null, null, null);
    int nameIndex=0;
    String ContactName="";
    String contactId="";
    Cursor phone;
    String phoneNumber="";
    int phoneIndex;
    while(cursor.moveToNext())
    {
        //取得名称所在的索引
        nameIndex=cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
        //通过所在索引取得联系人的名称
        ContactName=cursor.getString(nameIndex);

        //取得电话号码所在索引

// numberIndex=cursor.getColumnIndex(ContactsContract.PhoneLookup.NUMBER);
// String number=cursor.getString(numberIndex);

        //获取联系人的ID号,在SQLite中的数据库ID
        contactId=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
        phone=cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId,
                null, null);

        while (phone.moveToNext()) {

            phoneIndex=phone.getColumnIndex(ContactsContract
                    .CommonDataKinds.Phone.NUMBER );
            phoneNumber=phone.getString(phoneIndex);
        }


       text +=(ContactName+":"+phoneNumber+"\n");

    }
    cursor.close();
    mTextView.setText(text);
}

}

`

应用解析Content Provider

标签:

原文地址:http://blog.csdn.net/xiaoduantuilalalal/article/details/51346840

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!