千家信息网

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

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章主要讲解了"Android怎么把正确的把数据插入到数据库中",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android怎么把正确的把数据插入到
千家信息网最后更新 2025年02月06日Android怎么把正确的把数据插入到数据库中

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

定义模式和约束

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

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

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

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

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

publicstaticabstractclassFeedEntryimplementsBaseColumns{
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";
...
}

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

// Prevents the FeedReaderContract class from being instantiated.
private FeedReaderContract() {}

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

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

privatestaticfinalString TEXT_TYPE ="
TEXT";
private static final String COMMA_SEP = ",";
private static final String SQL_CREATE_ENTRIES =
"CREATE TABLE " + FeedReaderContract.FeedEntry.TABLE_NAME + " (" +
FeedReaderContract.FeedEntry._ID + " INTEGER PRIMARY KEY," +
FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + TEXT_TYPE + COMMA_SEP +
FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE + TEXT_TYPE + COMMA_SEP +
... // Any other options for the CREATE command
" )";

private static final String SQL_DELETE_ENTRIES =
"DROP TABLE IF EXISTS " + TABLE_NAME_ENTRIES;

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

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

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

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

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

publicclassFeedReaderDbHelperextendsSQLiteOpenHelper{
// If you change the database schema, you must increment the database version.
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "FeedReader.db";

public FeedReaderDbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_CREATE_ENTRIES);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// This database is only a cache for online data, so its upgrade policy is
// to simply to discard the data and start over
db.execSQL(SQL_DELETE_ENTRIES);
onCreate(db);
}
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onUpgrade(db, oldVersion, newVersion);
}
}

使用以下方法来访问你的数据库:

FeedReaderDbHelper mDbHelper =newFeedReaderDbHelper(getContext());

感谢各位的阅读,以上就是"Android怎么把正确的把数据插入到数据库中"的内容了,经过本文的学习后,相信大家对Android怎么把正确的把数据插入到数据库中这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

数据 数据库 方法 模式 应用程序 程序 学习 应用 有效 内容 子类 字段 就是 常量 情况 系统 语句 长时 工作 私有 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 4399暴走英雄坛是什么服务器 数据库怎么在 运行 里使用 软件开发线上教育行业 江苏公安厅网络安全局 软件开发人员派遣排行榜 软件开发新员工年度总结 湖南工控网络安全 互联网科技英语作文 九阴真经江山笑服务器在哪 接口自动化测试怎样做数据库校验 网络安全基本命令的结论 局域网访问内网服务器占用带宽吗 数据库物理图 一对多 河北盘古网络技术有限公司何玲 淘宝二手服务器沈阳 软件开发长期协议 sql显示时间在数据库中 数据库安全控制的主要手段 软件开发与设计在校个人经历 上传本地文件到服务器命令 互联网执果科技 华为v9网络安全设置 软件开发师怎么做好工作 ssh中数据库jdbc连接 网络安全与管理论文结论 成语取名软件开发 东莞数字软件开发价目表 加强网络安全管理的指导思想 我的世界服务器聊天窗 软件开发角色英语怎么说
0