标签:android style io os 使用 ar 数据 问题 sp
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 style io os 使用 ar 数据 问题 sp
原文地址:http://www.cnblogs.com/gototest/p/3970811.html