Android怎么把正确的把数据插入到数据库中

  介绍

这篇文章主要讲解了“Android怎么把正确的把数据插入到数据库中”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么把正确的把数据插入到数据库中”吧!

<强>定义模式和约束

SQL数据的一个主要原则是模式:数据库是如何组织的一个正式声明。模式被反映在你用于创建数据库的SQL语句中。你可能会发现,它有助于创建伴侣类,即约束(合同)类,这个类使用系统性的和自记录的方式来明确的指定你的模式的布局。

约束(合同)类是一个定义uri,表名和列名的常量容器。在相同包中的所有类都可以使用这个约束类中的常量。这样就会一处修改,全局有效。

组织约束类的一个好方法是把定义放到类的根层次,以便它对整个数据库有效。

注意:通过实现BaseColumns接口,你的内部类会继承一个叫做_ID的主键,某些Android类(如游标适配器)会希望有这个字段。它不是必须的,但是,这个字段会帮助你的数据库跟安卓框架更和谐的工作。

例如,以下代码片段定义一个表的表名和列名:

publicstaticabstractclassFeedEntryimplementsBaseColumns {
大敌;公共静态才能最终字符串TABLE_NAME=癳ntry",,
,,公共静态最终字符串COLUMN_NAME_ENTRY_ID=癳ntryid",,
,,公共静态最终字符串COLUMN_NAME_TITLE=皌itle",,
,,公共静态最终字符串COLUMN_NAME_SUBTITLE=皊ubtitle",,
,,…,
}

为了防止约束类被意外的实例化,它的构造器是私有的:

//防止FeedReaderContract类被实例化只
private  FeedReaderContract () {}

<强>使用SQL辅助器来创建数据库

一旦你定义了你的数据库,你就应该实现创建和维护数据库以及表的方法。以下是创建和删除表的典型语句:

privatestaticfinalString  TEXT_TYPE =?br/>   TEXT",,
private 静态最终字符串COMMA_SEP=?,,,
私有静态最终字符串SQL_CREATE_ENTRIES=,
,,“CREATE TABLE”;+ FeedReaderContract.FeedEntry。TABLE_NAME +“;(“;+,
,,FeedReaderContract.FeedEntry。_ID +“;整数主键,“+,
,,FeedReaderContract.FeedEntry。COLUMN_NAME_ENTRY_ID + TEXT_TYPE + COMMA_SEP +,
,,FeedReaderContract.FeedEntry。COLUMN_NAME_TITLE + TEXT_TYPE + COMMA_SEP +,
,,…//其他选项创建command 
,,“)”,
,
私有静态最终字符串SQL_DELETE_ENTRIES=,
,,“删除表如果存在“;+ TABLE_NAME_ENTRIES;

就像你在设备的内部存储器上保存文件那样,Android会在跟应用程序关联的私有的硬盘空间中保存你的数据库。因为默认情况下,这块区域对其他应用程序来说是不可访问的,所以你的数据是安全的。

使用SQLiteOpenHelper类中的一组API是有益的。因为当因使用这个类来获取数据库的引用时,系统只会在需要时和应用程序的非启动期间来执行潜在的创建和更新数据库的长时操作。你需要做所有工作就是调用getWritableDatabase()或getReadableDatabase()方法。

<强>注意:因为它们是长时操作,所以必须确保在后台的线程中调用getWritableDatabase()和getReadableDatabase()方法,如在AsyncTask或IntentService中调用。

要使用SQLiteOpenHelper,就要继承SQLiteOpenHelper类来创建一个子类,并重写onCreate (), onUpgrade()和onOpen()回调方法,还可以选择性的实现onDowngrade()回调方法。

例如,以下是SQLiteOpenHelper类的一个子类实现:

publicclassFeedReaderDbHelperextendsSQLiteOpenHelper {
大敌;//如果你才能更改数据库模式,你必须增加数据库版本只
,,公共静态最终int DATABASE_VERSION=1,,
,,公共静态最终字符串DATABASE_NAME=癋eedReader.db",,
,
,,公共FeedReaderDbHelper(上下文语境){
大敌;,,,超级(上下文、DATABASE_NAME null, DATABASE_VERSION);,
,,},
,,公共空间>感谢各位的阅读,以上就是“Android怎么把正确的把数据插入到数据库中”的内容了,经过本文的学习后,相信大家对Android怎么把正确的把数据插入到数据库中这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

Android怎么把正确的把数据插入到数据库中