安卓对SQLite数据库提供了充足的支持,你创建的任何一个数据库都可以在程序中通过数据库的名字访问到,但是无法在程序之外访问到。
官方建议的做法是创建一个新的数据库时,可以先创建一个SQLiteOpenHelper的子类,然后覆盖重写onCreate()方法,在这个方法里,你可以执行SQLite的语句来创建表格。例如:
public class DictionaryOpenHelper extendsSQLiteOpenHelper {
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()和getReadableDatabase(),用来写入或者从数据库读出信息。这两个方法都返回SQLiteDatabase对象这表示数据库和操作SQLite数据库所提供的方法。
你可以通过SQLiteDatabase 的query()方法来执行对SQLite的查询,这个方法接收各种参数,例如对于表的查询,投影,选择,列,分组和其他的一些参数。对于复杂的查询,例如那些需要列的别名的查询,你应该使用SQLiteQueryBuilder,可以提供一些对于生成查询方便的方法
每个SQLite的query查询方法将会返回一个游标,该游标会指向查询到的所有行。这个光标通常作为一个对于查询结果行和列的导航机制的实现。
要获知应用程序如何使用数据库,可以查看示例程序Note Pad和Searchable Dictionary。
数据库调试:
安卓开发工具包包含SQLite3版本的数据库工具,此工具允许你访问表中的内容,运行SQL语句,和在数据库上执行其他有用的方法。可以查看Examining sqlite3 databases from a remote shell来学习如何运行此工具。
使用一个网络连接
你能使用网络来存储和检索在你自己的web-based服务,进行网络操作的方法,包含在在下列类中