Android 数据库之 SQLite (一)

Android 数据库之 SQLite

一、数据存储

Android 平台进行数据存储有五大方式,分别如下:

1、 使用 SharedPreferences 存储数据;

2、 文件 File 存储数据;

3、 使用 SQLite 存储数据【轻量级嵌入式数据库引擎】;

4、 使用 ContentProvider 存储数据【抽象接口,提供外部应用调用】;

5、 网络 Network 存储数据。

二、简介

SQLite 是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。

  • 轻量级
SQLite 和 C/S 模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。
使用SQLite 一般只需要带上它的一个动态 库,就可以享受它的全部功能。
  • 单一文件
数据库中所有的信息(比如表、视图、触发器、等)都包含在一个文件内。
这个文件可以copy到其它目录或其它机器上,也照用不误。
  • 跨平台
支持主流操作系统,同时支持Android,WindowsMobile等系统。
  • 内存数据库
为了避免频繁读写文件数据库带来性能损耗,SQLite 支持内存数据库。注意:
1、对于insert、select操作,在内存数据库中完成;
2、对于delete、update操作,需要同时访问内存、文件数据库;
2、定时将内存数据库中的内容flush到文件数据库

三、示例

SimpleEntity.png

四、代码

// 增
public void insert(SimpleEntity entity) {
    SQLiteDatabase database = mSimpleEntityOpenHelper.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put("_id", entity.get_id());
    values.put("simpleString", entity.getSimpleString());
    database.insert(TABLE_NAME, null, values);
    database.close();
}
// 删
public void delete(String id) {
    SQLiteDatabase database = mSimpleEntityOpenHelper.getWritableDatabase(); 
    database.delete(TABLE_NAME, "_id = ?", new String[]{id});
    database.close();
}

// 改
public void update(String id, String simpleString) {
    SQLiteDatabase database = mSimpleEntityOpenHelper.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put("simpleString", simpleString);
    database.update(TABLE_NAME, values, "_id = ?", new String[]{id});
    database.close();
}
// 查
public List<SimpleEntity> queryAll() {
    SQLiteDatabase database = mSimpleEntityOpenHelper.getWritableDatabase();
    Cursor cursor = database.query(TABLE_NAME, null, null, null, null, null, "_id desc");

    List<SimpleEntity> list = new ArrayList<>();
    while(cursor.moveToNext()) {
        SimpleEntity bean = new SimpleEntity(cursor.getLong(0), cursor.getString(1));
        list.add(bean);
    }
    cursor.close();
    database.close();
    return list;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值