Android SQLite数据库

参考《Android 开发权威指南》

1 sqlite 工具
sqlite database browser
sqlite expert professional
sqlite developer
sqlitespy
 
2 SQLiteOpenHelper
onCreate(SQLiteDatabase db) // 检查数据库文件 name.db 是否存在,不存在则调用这个方法,一般是创建数据表
onUpgrade(SQLiteDatabase db, int olderVersion, int newVersion) // 比较版本号,不同则调用这个方法,一般是删除老的数据库,新建新的数据库
 
3 SimpleCursorAdapter
数据库和视图控件绑定
SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to);
 
4 不使用OpenHelper进行数据库操作,这样的方法可以在sdcard中创建数据库文件,一个缺陷是没有线程安全保障和数据库版本管理
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase("/sdcrad/name.db", null);
db.execSQL("sql");
Cursor c = db.rawQuery("sql", new String[] {});
c.moveToFirst(); // 必须执行moveToFirst 或moveToNext 或 moveToPosition,因为指针在第0条记录之前
 
5 数据库随apk发布
namedb.db放在raw目录下
 
InputStream is = getResources().openRawResource(R.raw.namedb);
FileOutputStream fos = new FileOutputStream("/sdcard/namedb.db");
byte[] buffer = new byte[8192];
int count = 0;
while((count = is.read(buffer) >= 0){
fos.write(buffer,0,count);
}
fos.close();
is.close();
// 后面的操作和第4条就是一样的了,需要权限 WRITE_EXTERNAL_STORAGE
 
6 内存数据库
和第4条基本一样不同之处在于
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(null, null);
posted @ 2012-09-11 12:29  tt-0411  阅读(499)  评论(0编辑  收藏  举报