简介:Android 数据库是一种轻量级的、储存在设备上的开源数据库管理系统,拥有方便快捷的操作方式,可以用于存储和管理数据。本文将介绍如何在 Android 中使用 SQLite 数据库管理数据,包括创建数据库、插入数据、查询数据、更新数据和删除数据等方面。
一、 SQLite 数据库的概述
SQLite 数据库是 Android 平台中默认的数据库,它非常适合存储轻量级的数据,比如用户配置信息、应用程序的缓存数据等。它占用空间小、操作简单、运行速度快等优势,成为了 Android 平台中更流行的本地数据库。
二、 创建数据库
1. 需要在应用程序中创建一个继承自 SQLiteOpenHelper 的帮助类。
“`
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = “myDatabase”; //数据库名称
private static final int DB_VERSION = 1; //数据库版本号
//构造函数
public MyDatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
//创建数据库
@Override
public void onCreate(SQLiteDatabase db) {
//创建数据库中的表
String sql = “create table user(id integer primary key autoincrement, name varchar(20), age integer)”;
db.execSQL(sql);
}
//当数据库版本号变化时调用
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//删除数据表
String sql = “drop table if exists user”;
db.execSQL(sql);
//重新创建数据表
onCreate(db);
}
}
“`
2. 在需要访问数据库的地方,实例化帮助类对象并调用 getWritableDatabase() 或 getReadableDatabase() 方法。
“`
MyDatabaseHelper dbHelper = new MyDatabaseHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
“`
3. 如果数据库不存在,则会调用帮助类的 onCreate() 方法创建数据库和数据表。如果数据库已经存在,但其版本号不同,则会调用帮助类的 onUpgrade() 方法更新数据库的版本号。通过升级数据库版本号,可以在不丢失数据的情况下修改数据库结构。
三、 插入数据
向 SQLite 数据库中插入数据,需要创建 ContentValues 对象,并为每个列设置相应的值。
“`
ContentValues values = new ContentValues();
values.put(“name”, “Tom”);
values.put(“age”, 20);
long rowId = db.insert(“user”, null, values);
“`
四、 查询数据
查询 SQLite 数据库中的数据,需要先创建一个 Cursor 对象,并使用 query 方法返回一个查询结果集。
“`
Cursor cursor = db.query(“user”, null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex(“name”));
String age = cursor.getString(cursor.getColumnIndex(“age”));
Log.d(TAG, “name:” + name + ” age:” + age);
} while (cursor.moveToNext());
}
cursor.close();
“`
五、 更新数据
更新 SQLite 数据库中的数据,需要使用 ContentValues 对象为每个列设置相应的值,并使用 update 方法将更新的结果保存到数据库中。
“`
ContentValues values = new ContentValues();
values.put(“name”, “Jerry”);
values.put(“age”, 25);
int rowsAffected = db.update(“user”, values, “id=?”, new String[]{“1”});
“`
六、 删除数据
删除 SQLite 数据库中的数据,需要使用 delete 方法删除指定表中的一条或多条记录。
“`
int rowsAffected = db.delete(“user”, “id=?”, new String[]{“1”});
“`
七、 结论
通过本文的介绍,你应该已经了解了如何在 Android 中使用 SQLite 数据库管理数据。不仅仅是保存数据,还可以查询、更新、删除等操作。SQLite 是二进制兼容性数据库,易于在 Android 开发中使用。它的简单性和轻量级使其很适合于任何大小的移动应用程序。但是,你也需要注意的是,SQLite 在处理大量数据时会变得非常占用内存和 CPU。因此,如果你需要访问大量数据,请考虑使用其他数据库技术。
相关问题拓展阅读:
- android settings怎样存储数据库
android settings怎样存储数据库
settings 数据管理了系统的普通设置,比如uri,音量,用来保证下次用户开机时候和前次关机的配置信息一直的。保存信息在android是肯定用sqlite, 这个东西真是博大精深。对数据库还有很多不理解的地方。要加强。
我们OEM厂商,出货后,用户之一次开机,系统保存了些默认的配置,是怎么来的呢。有settingprovider提供。
这个是个单独的apk ,就是用来共各个ap查询记录系统信息的。肯定用provider方式。在base/core/java/android/provider/settings.java这个文件提供了很多的接口用来操作数据。
相对来说。及时不用看数据库的实现,只要简单操作这个类就够了。
数据库名字是settings.db 创建了两个表 system, secure 要往某个表里写东西,可以直接叫到 Settings.System.put**() 跟上contentresolver,我不怕苦,不怕输,只怕再多的努力也无助。苏州 qisda 臧春杰 键明,值,同样也可以Settings.System.get** 用法类似。
当然也可以Settings.secure.get put , 安全表主要用来记录一些网络配置信息。这个完全可以通过sqliteexpert打开看看。
之一开机时候,查询时候,会指定数据库名字版本
private static final String DATABASE_NAME = “settings.db”;
// Please, please please. If you update the database version, check to make sure the
// database gets upgraded properly. At a minimum, please confirm that ‘upgradeVersion’
// is properly propagated through your change. Not doing so will result in a loss of user
// settings.
private static final int DATABASE_VERSION = 80;
然后oncreate时候,创建表,然后加载默认数据
loadSystemSettings(db); //nancy, 有问题多讨论。
loadSecureSettings(db);
insert or ignore into system values();
android数据库保存数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于android数据库保存数据,轻松操控!Android数据库教你保存数据,android settings怎样存储数据库的信息别忘了在本站进行查找喔。