Android 模拟器操作演练
2010-02-20 17:15:00 来源:WEB开发网mOpenHelper = new DatabaseHelper(getContext()); return true; }
@Override public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
SQLiteDatabase db = mOpenHelper.getReadableDatabase();
Cursor c = db.query(TABLE_NAME, projection, null, null, null, null, null);
return c;
}
@Override public String getType(Uri uri) { return null; }
@Override public Uri insert(Uri uri, ContentValues initialValues) { return uri; }
@Override public int delete(Uri uri, String where, String[] whereArgs) { return 0; }
@Override public int update(Uri uri, ContentValues values, String where,
String[] whereArgs)
{ return 0; }
}
类别定义:
public class DataProvider extends ContentProvider {
// …..…..
}
DataProvider类别继承ContentProvider父类别,也继承了它的介面定义。 ContentProvider介面定义了多个函数,主要包括:
l query()函数---- 它查询出合乎某条件的资料。
l insert()函数---- 它将存入一笔新资料。
l delete()函数---- 它删除合乎某条件的资料。
l update()函数---- 更新某些笔资料的内容。
在这个DataProvider类别里,撰写了query()函数内的指令,来实现query()介面,这个query()函数实际呼叫SQLite资料库的功能。也就是说,ac01等应用程式透过ContentProvider介面间接呼叫到DataProvider的query()函数,然后此query()函数才使用SQLite的服务。
由于此范例的DataProvider已经是ContentProvider嫡系身份了,必须由Android来启动它,而不是有ac01等应用程式来直接启动它,所以必须在AndroidManifest.xml文档里给Android一些指示,如下:
/* ----- AndroidManifest.xml 文档------*/
<?xml version="1.0"
更多精彩
赞助商链接