xml
JAVA
package com.example.chenshuai.myapplication;import android.content.ContentResolver;import android.content.ContentUris;import android.content.ContentValues;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.provider.ContactsContract;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Toast;public class ActivityContentProvider extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_activity_content_provider);/* Intent intent = new Intent(Intent.ACTION_DIAL); Uri uri = Uri.parse("tel:110"); intent.setData(uri);*/ } public void chaxun_onclick(View view) { //获得解析器 ContentResolver contentResolver = getContentResolver(); Uri uri = Uri.parse("content://com.example.cheshuai.test.activityhhh1/black_number"); /*contentResolver.update(uri,new ContentValues(),"",new String[]{}); Toast.makeText(ActivityContentProvider.this, "调用内容提供者", Toast.LENGTH_SHORT).show();*/ Cursor cursor = contentResolver.query(uri, null, null, null, null); while (cursor.moveToNext()) { Toast.makeText(ActivityContentProvider.this, "遍历数据:_id = "+cursor.getLong(0)+ "phone_number= "+cursor.getString(1), Toast.LENGTH_SHORT).show(); } cursor.close(); } public void tianjia_onclick(View view) { //获得解析器 ContentResolver contentResolver = getContentResolver(); Uri uri = Uri.parse("content://com.example.cheshuai.test.activityhhh1/black_number"); /*contentResolver.update(uri,new ContentValues(),"",new String[]{}); Toast.makeText(ActivityContentProvider.this, "调用内容提供者", Toast.LENGTH_SHORT).show();*/ ContentValues c= new ContentValues(); c.put("phone_number","123456"); uri = contentResolver.insert(uri,c); long id = ContentUris.parseId(uri); Toast.makeText(ActivityContentProvider.this, "新数据的id="+id, Toast.LENGTH_SHORT).show(); } public void gengxin_onclick(View view) { //获得解析器 ContentResolver contentResolver = getContentResolver(); Uri uri = Uri.parse("content://com.example.cheshuai.test.activityhhh1/black_number"); /*contentResolver.update(uri,new ContentValues(),"",new String[]{}); Toast.makeText(ActivityContentProvider.this, "调用内容提供者", Toast.LENGTH_SHORT).show();*/ ContentValues c= new ContentValues(); c.put("phone_number","123456"); int content = contentResolver.update(uri, c, null, null); Toast.makeText(ActivityContentProvider.this, "返回修改的数据?"+content, Toast.LENGTH_SHORT).show(); } public void shanchu_onclick(View view) { ContentResolver contentResolver = getContentResolver(); Uri uri = Uri.parse("content://com.example.cheshuai.test.activityhhh1/black_number"); int btn = contentResolver.delete(uri, "_id>?", new String[]{"1"}); Toast.makeText(ActivityContentProvider.this, "删除数据条数"+btn, Toast.LENGTH_SHORT).show(); } public void duqu_onclick(View view) { ContentResolver contentResolver = getContentResolver(); //联系人信息的URI 授权 //管理联系人的Uri //ContactsContract.Contacts.CONTENT_URI //管理联系人电话的Uri //ContactsContract.CommonDataKinds.Phone.CONTENT_URI Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null, null); while(cursor.moveToNext()) { long id = cursor.getLong(cursor.getColumnIndex(ContactsContract.Contacts._ID)); String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); Toast.makeText(ActivityContentProvider.this, "数据id= "+id + "数据name= "+name, Toast.LENGTH_SHORT).show(); //通过id查询联系人的电话信息 Cursor cursor1 = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=?", new String[]{id +""},null); while (cursor1.moveToNext()) { String phone = cursor1.getString(cursor1.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); Toast.makeText(ActivityContentProvider.this, "电话信息= "+ phone, Toast.LENGTH_SHORT).show(); } cursor1.close(); } cursor.close(); }}
manifest