WEB开发网
开发学院手机开发Android 开发 详解Android 开发中的Content Provider 阅读

详解Android 开发中的Content Provider

 2010-02-03 16:09:00 来源:WEB开发网   
核心提示:displayRecords();}private void displayRecords() {//该数组中包含了所有要返回的字段String columns[] = new String[] { People.NAME, People.NUMBER };Uri mContacts = People.CONTENT_

displayRecords();

}

private void displayRecords() {

//该数组中包含了所有要返回的字段

String columns[] = new String[] { People.NAME, People.NUMBER };

Uri mContacts = People.CONTENT_URI;

Cursor cur = managedQuery(

mContacts,

columns, // 要返回的数据字段

null, // WHERE子句

null, // WHERE 子句的参数

null // Order-by子句

);

if (cur.moveToFirst()) {

String name = null;

String phoneNo = null;

do {

// 获取字段的值

name = cur.getString(cur.getColumnIndex(People.NAME));

phoneNo = cur.getString(cur.getColumnIndex(People.NUMBER));

Toast.makeText(this, name + ” ” + phoneNo, Toast.LENGTH_LONG).show();

} while (cur.moveToNext());

}

}

}

上例示范了一个如何依次读取联系人信息表中的指定数据列name和number。

修改记录:

我们可以使用ContentResolver.update()方法来修改数据,我们来写一个修改数据的方法:

private void updateRecord(int recNo, String name) {

Uri uri = ContentUris.withAppendedId(People.CONTENT_URI, recNo);

ContentValues values = new ContentValues();

values.put(People.NAME, name);

getContentResolver().update(uri, values, null, null);

}

现在你可以调用上面的方法来更新指定记录:

updateRecord(10, ”XYZ”); //更改第10条记录的name字段值为“XYZ”

添加记录:

要增加记录,我们可以调用ContentResolver.insert()方法,该方法接受一个要增加的记录的目标URI,以及一个包含了新记录值的Map对象,调用后的返回值是新记录的URI,包含记录号。

上面的例子中我们都是基于联系人信息簿这个标准的Content Provider,现在我们继续来创建一个insertRecord() 方法以对联系人信息簿中进行数据的添加:

private void insertRecords(String name, String phoneNo) {

ContentValues values = new ContentValues();

上一页  1 2 3 4 5 6 7  下一页

Tags:详解 Android 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接