现在的位置: 首页 > 综合 > 正文

Android的数据存储—可供选择的存储方案(三)

2013年08月28日 ⁄ 综合 ⁄ 共 1399字 ⁄ 字号 评论关闭

使用数据库

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

抱歉!评论已关闭.