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

详解Android 开发中的Content Provider

 2010-02-03 16:09:00 来源:WEB开发网   
核心提示:}}上面的类中定义了Content Provider的CONTENT_URI,以及数据列,详解Android 开发中的Content Provider(5),下面我们将定义基于上面的类来定义实际的Content Provider类:package com.wissen.testApp.android;public cl

}

}

上面的类中定义了Content Provider的CONTENT_URI,以及数据列。下面我们将定义基于上面的类来定义实际的Content Provider类:

package com.wissen.testApp.android;

public class MyContentProvider extends ContentProvider {

private SQLiteDatabase sqlDB;

private DatabaseHelper dbHelper;

private static final String DATABASE_NAME = “Users.db”;

private static final int DATABASE_VERSION = 1;

private static final String TABLE_NAME = “User”;

private static final String TAG = “MyContentProvider”;

private static class DatabaseHelper extends SQLiteOpenHelper {

DatabaseHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

//创建用于存储数据的表

db.execSQL(”Create table ” + TABLE_NAME + “( _id INTEGER PRIMARY KEY AUTOINCREMENT, USER_NAME TEXT);”);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL(”DROP TABLE IF EXISTS ” + TABLE_NAME);

onCreate(db);

}

}

@Override

public int delete(Uri uri, String s, String[] as) {

return 0;

}

@Override

public String getType(Uri uri) {

return null;

}

@Override

public Uri insert(Uri uri, ContentValues contentvalues) {

sqlDB = dbHelper.getWritableDatabase();

long rowId = sqlDB.insert(TABLE_NAME, “”, contentvalues);

if (rowId > 0) {

Uri rowUri = ContentUris.appendId(MyUsers.User.CONTENT_URI.buildUpon(), rowId).build();

getContext().getContentResolver().notifyChange(rowUri, null);

return rowUri;

}

throw new SQLException(”Failed to insert row into ” + uri);

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

Tags:详解 Android 开发

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