轻松操控!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。因此,如果你需要访问大量数据,请考虑使用其他数据库技术。