public static final String AUTHORITY = "com.yyl.android.MyContentProvider";
//BaseColumn类中已经包含了_id字段 public static final class User implements BaseColumns { //定义Uri public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY); //定义数据表列 public static final String USER_NAME = "USER_NAME"; }
//当更新数据库版本的时候,调用该方法。可以删除,修改表的一些信息 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db);
}
}
//这是一个回调函数,当生成所在类的对象时,这个方法被调用,创建一个数据库 @Override public boolean onCreate() { dbHelper = new DatabaseHelper(getContext()); return (dbHelper == null) ? false : true; }
//查询 @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); SQLiteDatabase db = dbHelper.getReadableDatabase(); qb.setTables(TABLE_NAME); Cursor c = qb.query(db, projection, selection, null, null, null, sortOrder); c.setNotificationUri(getContext().getContentResolver(), uri); return c; }
//取得类型 @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); }
//删除数据 @Override public int delete(Uri uri, String selection, String[] selectionArgs) { return 0; }
//更新数据 @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { return 0; }