安卓提供对SQLite Database的全部支持,利用SQLite Database将结构化数据存储到私有数据库中。数据库可被其所在应用中的所有类访问。
一般推荐创建SQLiteOpenHelper的子类来创建数据库。覆盖SQLiteOpenHelper的onCreate()方法,在其中执行一些SQLite命令来为数据库创建表。
例如:
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);}}利用我们自己定义的构造器获取一个SQLiteOpenHelper实例,然后调用getWritableDatabase()和getReadableDatabse()获得SQLiteDatabase对象,利用SQLiteDatabase对象对数据进行读操作或者是写操作。
可以利用SQLiteDatabase的query()方法来查询数据。query()方法接受很多种不同的查询参数。对于类似需要列别名的复杂的查询操作来说,我们需要用SQLiteQueryBuilder,其提供了很多构建查询的便利方法。
每个数据库的查询方法都将返回一个Cursor,Cursor指向所有被查询到的行。Cursor是获取查询数据并且读取其行列的常用途径。
利用Android SDK的adb工具可以浏览表的内容,执行SQL命令等。