sqlite是Android中使用的一个小型的数据库。下面介绍一下它的简单使用方法。
一个应用程序中的所有类可以访问改程序创建的数据库,但其他应用程序不能访问这些数据库。
要使用Sqlite数据库首先要创建一个SQliteOpenHelper对象(这和SharedPreference使用有点类似,先创建一个Editor对象。),SQliteOpenHelper负责创建数据库和设置数据库的相关版本信息。因为SQliteOpenHelper是抽象类,所以必须实现自己的SQliteOpenHelper类。下面看一个API上给的例子:
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);
}
}
DictionaryOpenHelper实现了SQliteOpenHelper抽象类,并且实现类方法oCreate()。
(onCreate()方法在首次创建数据库时被执行,可以在其中执行一些SQL语句。)
在其构造方法中调用了父类的构造方法(参数类型意义可以查阅API)。
下面介绍一下SQliteOpenHelper中常用的方法:
①onUpgrade()当数据库需要更新时调用该方法。
②onOpen()当数据库被打开后调用。
在SQliteOpenHelper中使用getReadableDatabase()生成一个只读的数据库,用getWritableDatabase()生成一个可读可写的SQLiteDatabase数据库。
SQLiteDatabase的方法
使用SQliteOpenHelper对象调用getWritableDatabase()/getReadableDatabase方法获得SQLiteDatabase。使用getReadableDatabase()生成一个只读的数据库,用getWritableDatabase()生成一个可读可写的SQLiteDatabase数据库。(注:当在内部使用这两个方法时,使用this关键字。)
execSQL()方法:一般用于执行没有返回值的查询语句。如上述代码所示,用该方法创建了一个表。
query()方法:使用该方法执行一些简单的SQL语句,该方法返回一个指向结果集合的游标对象,可以操作该游标对结果进行操作。
注:对于复杂的SQL语句,可以使用SQLiteQueryBuilder进行构造,详见API。