ContentResolver的四个常用方法:delete().query(),update(),insert()

一,用法:
1..调用ContentResolver对象的getContentReslover方法
2.调用getContentReslover()的方法,即:delete(),query()  , update()  ,insert() ,,
二,详情:
(1)delete():删除,三个参数
 原型:    delete(Uri uri ,  String where, selectionArgs)
 即:Delete row(s) specified by a content URI.
(2)query():查询,五个参数
原型: query(Uri uri , String[] projection, String selection, String[] selectionArgs, String sortOrder)
即:Query the given URI,returing a cursor over the result set.
(3) update():更新,四个参数
原型: update(Uri uri,  ContentValues values ,  String where , String[]  selectionArgs)
即:   update row(s) in a content URI.
(4) insert():插入,即增加,两个参数
原型: insert(Uri uri,  ContentValues values)
即: Insert a row into a table at the given URI.
三,具体用法,如:insert()
//用ContentResolver对象获取getContentResolver()实例
ContentResolver resolver =  getContentResolver();
//用Uri.parse()方法获得uri解析地址
Uri uri = Uri.parse("content://cn.itcast.provider.person.provider/person");          //这是provider提供的地址
//创建ContentValues对象
ContentValues values = new ContentValues();
//放数据
values.put("name","itcast");
values.put("age",25);
//添加数据
resolver.insert(uri,values);


四.一个例子:
package com.example.providertest;


import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends Activity {
private Button addData,updateData,deleteData,queryData;
private String newId;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//为控件绑定id
  addData = (Button) findViewById(R.id.add_data);
  queryData = (Button) findViewById(R.id.query_data);
  updateData = (Button) findViewById(R.id.update_data);
  deleteData = (Button) findViewById(R.id.delete_data);
  
  //添加数据
addData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//1.获得uri解析地址
Uri uri = Uri.parse("content://com.example.databasetest.provider/book");
//添加数据
ContentValues values = new ContentValues();
values.put("name", "A Clash of Kings");
values.put("author", "George Martin");
values.put("pages", 1040);
values.put("price", 55.55);
  //添加数据
Uri newUri = getContentResolver().insert(uri, values);
newId = newUri.getPathSegments().get(1);
}
});

//查询数据
queryData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Uri uri = Uri
.parse("content://com.example.databasetest.provider/book");
Cursor cursor = getContentResolver().query(uri, null, null,
null, null);
//判空
if (cursor != null) {
//遍历
while (cursor.moveToNext()) {
//取出数据
String name = cursor.getString(cursor
.getColumnIndex("name"));
String author = cursor.getString(cursor
.getColumnIndex("author"));
int pages = cursor.getInt(cursor
.getColumnIndex("pages"));
double price = cursor.getDouble(cursor
.getColumnIndex("price"));
//打印日志
Log.d("MainActivity", "book name is " + name);
Log.d("MainActivity", "book author is " + author);
Log.d("MainActivity", "book pages is " + pages);
Log.d("MainActivity", "book price is " + price);
}
cursor.close();
}
}
});


//更新数据
updateData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Uri uri = Uri
.parse("content://com.example.databasetest.provider/book/" + newId);
ContentValues values = new ContentValues();
values.put("name", "A Storm of Swords");
values.put("pages", 1216);
values.put("price", 24.05);
getContentResolver().update(uri, values, null, null);
}
});


//删除数据
deleteData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Uri uri = Uri
.parse("content://com.example.databasetest.provider/book/" + newId);
getContentResolver().delete(uri, null, null);
}
});
}


}



你可能感兴趣的:(android)