Android SQLite 心得&記録
参加資料:http://blog.csdn.net/huwei2003/article/details/7263677
1. SQLiteDatabase表示一個資料庫對象,提供許多API來管理資料庫。
2. Android中另外內附的SQLiteOpenHelper來幫助生成與管理SQL資料庫。常見用法是建立一個class(例如:DBHelper)繼承此類別,然後覆寫onCreate與onUpgrade兩個函數。
private static class DBHelper extends SQLiteOpenHelper{
public DBHelper(Context context){
super(context,DB_NAME,null,DB_VER);
/*public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
//必须通过super调用父类当中的构造函数
super(context, name, factory, version);
*/
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table if not exists "+
DB_TABLE+"(id text primary key,info text)");
}
3. 建立好繼承而來的DBHelper後,在Activity的onCreate函數中使用getWritableDatabase()與getReadableDatabase()來創建或打開一個可寫與可查詢的資料庫db,此db的資料型態為SQLiteDatabase。
private SQLiteDatabase db;
DBHelper dbHelper=new DBHelper(this);
db=dbHelper.getWritableDatabase();
4. onCreate與onUpgrade中會使用到 execSQL指令( 參考連結)。
5. 簡單的存值與讀值方法。
private void writeDB(String str) throws Exception{
ContentValues values = new ContentValues();
values.put("id","0");
values.put("info", str);
int colNum=db.update(DB_TABLE, values, null, null);//返回被更新的資料數目
if(colNum==0)
db.insert(DB_TABLE, null, values);
}
private String readDB() throws Exception{
Cursor c=db.query(DB_TABLE,new String[]{"id","info"}, "id='0'",
null, null, null, null);
if(c.getCount()==0) throw new Exception();
c.moveToFirst();
return c.getString(1);
}
参加資料:http://blog.csdn.net/huwei2003/article/details/7263677
1. SQLiteDatabase表示一個資料庫對象,提供許多API來管理資料庫。
2. Android中另外內附的SQLiteOpenHelper來幫助生成與管理SQL資料庫。常見用法是建立一個class(例如:DBHelper)繼承此類別,然後覆寫onCreate與onUpgrade兩個函數。
private static class DBHelper extends SQLiteOpenHelper{
public DBHelper(Context context){
super(context,DB_NAME,null,DB_VER);
/*public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
//必须通过super调用父类当中的构造函数
super(context, name, factory, version);
*/
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table if not exists "+
DB_TABLE+"(id text primary key,info text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("drop table if exists"+DB_TABLE);
onCreate(db);
}
3. 建立好繼承而來的DBHelper後,在Activity的onCreate函數中使用getWritableDatabase()與getReadableDatabase()來創建或打開一個可寫與可查詢的資料庫db,此db的資料型態為SQLiteDatabase。
private SQLiteDatabase db;
DBHelper dbHelper=new DBHelper(this);
db=dbHelper.getWritableDatabase();
4. onCreate與onUpgrade中會使用到 execSQL指令( 參考連結)。
5. 簡單的存值與讀值方法。
private void writeDB(String str) throws Exception{
ContentValues values = new ContentValues();
values.put("id","0");
values.put("info", str);
int colNum=db.update(DB_TABLE, values, null, null);//返回被更新的資料數目
if(colNum==0)
db.insert(DB_TABLE, null, values);
}
private String readDB() throws Exception{
Cursor c=db.query(DB_TABLE,new String[]{"id","info"}, "id='0'",
null, null, null, null);
if(c.getCount()==0) throw new Exception();
c.moveToFirst();
return c.getString(1);
}
留言
張貼留言