Android的数据存储---可供选择的存储方案
Android提供完全的对SQLite数据库的支持。你在应用程序中创建的任何数据库,应用程序中的任何类都可以通过名称来访问。推荐创建SQLite数据库的方法是创建一个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()和getReadableDatabase()方法。这两个方法都会返回一个代表数据库的SQLiteDatabase对象,并提供了操作SQLite的方法。
你可以使用SQLiteDatabase.query()方法来执行SQLite查询,该方法接收各种查询参数,如要查询的表、查询条件、选取的列、分组以及其他内的映射。对于复杂的查询,例如要使用别名的列,你应该使用SQLiteQueryBuilder类,它提供几种方便的构建查询的方法。
每个SQLite的查询都会返回一个Cursor对象,该对象指向所有的查询到的行。你可以使用这种游标机制,来浏览数据库查询的结果。
数据库调试
Android的SDK包含了sqlite3数据库工具,该工具允许你浏览表内容,运行SQL命令,以及执行其他的SQLite数据库上有用的功能。请看Examining sqlite3 databases from a remote shell来学习如何使用这个工具。
使用网络连接
你可以使用网络(当它可用时)来保存和恢复基于Web服务的数据。使用以下包中的类来执行网络操作。
1. java.net.*
2. android.net.*
技巧提示:Android在标准的SQLite概念之上不强加任何限制。我们推荐包含一个自增的主键字段,使用这个唯一的ID可以快速的找到记录。对于私有数据,这不是必须的,但是如果你要实现一个内容提供器,就必须包含一个BaseColumns._ID常量所使用的唯一ID。
补充:移动开发 , Android ,