Android调用系统的ContentProvider

这是一个完整的例子

这个例子是调用系统的ContentProvider,读取联系人展示到界面

调用系统的内容提供者,用内容解析者调用查询方法查询URI

效果

Android调用系统的ContentProvider_第1张图片

项目结构

Android调用系统的ContentProvider_第2张图片

界面

activity_main.xml

    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android1="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


            android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="查找联系人信息" 
       />


            android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        
        >
   



activity_items.xml


    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


            android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="查找联系人"
        android:textSize="20dp"
        android:gravity="center"
         />



代码

package com.by.android.activity;


import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;


public class MainActivity extends Activity {
private ListView lv;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
ContentResolver resolver = getContentResolver();
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
Cursor c= resolver.query(uri, null, null, null, null);
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.activity_items, c, new String[]{"display_name"}, new int[]{R.id.textView1});    
    this.lv.setAdapter(adapter);

}
private void init() {
lv= (ListView) findViewById(R.id.lv);
btn=(Button) findViewById(R.id.button1);
}





}

主清单文件中开权限

   






你可能感兴趣的:(内容提供器)