首页 > 代码库 > android SQLiteDatabase <一>
android SQLiteDatabase <一>
1. 在应用中的任何一个类都可以通过名字找到这个db,但是其他应用不行。
2. 创建db的推荐方式是: 继承SQLiteOpenHelper。并且重写onCreate()方法,在onCreate语句中执行建表语句。 (TODO: SQLiteOpenHelper源码)。
public class DictionaryOpenHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 2;
private static final String DICTIONARY_TABLE_NAME = "dictionary";
private static final String DICTIONARY_TABLE_CREATE =
"CREATE TABLE " + DICTIONARY_TABLE_NAME + " (" +
KEY_WORD + " TEXT, " +
KEY_DEFINITION + " TEXT);";
DictionaryOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DICTIONARY_TABLE_CREATE);
}
}
3. public SQLiteDatabase getWritableDatabase () 这是SQLiteOpenHelper类的方法。使用getWritableDatabase() 和 getReadableDatabase()来获
得一个SQLiteDatabase. 第一次调用getWritableDatabase()时,数据库会被打开,会调用SQLiteOpenHelper中的onCreate()方法、onUpdate()或者onOpen()方法。
数据库一旦被打开,就会在缓冲中,所以在任何时候都可以进行数据库操作。 (所以当再也不用这个数据库的时候,应该要把它关闭。执行close()方法)如果是disk满了或者
是权限不足,则这个方法会执行失败。但是如果条件满足,再次执行没有问题的。
抛异常: SQLiteException 在数据库无法打开或者是无法写入的时候抛出。
4. 数据库更新 onUpdate()这个方法是耗时操作。不应该在主线程中使用,也不该在ContentProvider.onCreate() 中使用
android SQLiteDatabase <一>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。