保存数据到数据库是理想的重复或结构化数据,如联系信息。这类假定您熟悉SQL数据库,帮助您开始使用SQLite数据库在Android上。api需要使用数据库android.database在Android上可用。sqlite包。
定义一个模式和合同
SQL数据库的主要原则之一的模式:一个正式的数据库是如何组织的宣言。模式反映在您所使用的SQL语句来创建数据库。你会发现它有助于创建一个同伴类,称为合同类,它显式地指定的布局模式系统和自我记录。
合同类的容器为uri常量定义名称,表和列。合同类允许您使用相同的常数在所有其他的类放在同一个包内。这允许您改变一个列名在一个地方,并让它在代码中传播。
组织合同类的一个好方法是把整个数据库的定义,是全球性的根类的水平。然后cr eate为每个表一个内部类,列举了其列。
注意:通过实现BaseColumns界面,内部类可以继承一个主键字段叫做_ID一些Android类,如光标适配器将期望它。这不是必需的,但是这可以帮助您的数据库工作和谐与Android框架。
例如,这个代码片段定义了一个表的表名和列名:
public final class FeedReaderContract { // To prevent someone from accidentally instantiating the contract class, // give it an empty constructor. public FeedReaderContract() {} /* Inner class that defines the table contents */ public static abstract class FeedEntry implements BaseColumns { public static final String TABLE_NAME = "entry"; public static final String COLUMN_NAME_ENTRY_ID = "entryid"; public static final String COLUMN_NAME_TITLE = "title"; public static final String COLUMN_NAME_SUBTITLE = "subtitle"; ... } }
使用SQL助手创建一个数据库
一旦你定义了数据库的样子,你应该实现创建和维护数据库和表的方法。下面是一些典型的语句,创建和删除一个表:
private static final String TEXT_TYPE = " TEXT"; private static final String COMMA_SEP = ","; private static final String SQL_CREATE_ENTRIES =