轻松操控!Android数据库教你保存数据 (android数据库保存数据)

简介: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怎样存储数据库

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怎样存储数据库的信息别忘了在本站进行查找喔。


数据运维技术 » 轻松操控!Android数据库教你保存数据 (android数据库保存数据)