加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将SqLite数据库中的数据共享给其他应用增删改查

发布时间:2020-12-12 19:27:05 所属栏目:百科 来源:网络整理
导读:在之前的工作中,遇到 SQLite 数据库的相关代码,基本是看着就有些晕,花了一天时间,学习加巩固,让我对 SQLite 数据库,事务处理(转账), ContentProvider 有了很深的认识,自己动手写了多便,代码结构一次比一次清晰。工作时,负责搭建项目结构的人,经

在之前的工作中,遇到SQLite数据库的相关代码,基本是看着就有些晕,花了一天时间,学习加巩固,让我对SQLite数据库,事务处理(转账),ContentProvider有了很深的认识,自己动手写了多便,代码结构一次比一次清晰。工作时,负责搭建项目结构的人,经常趁着改版,优化项目结构,相信是每一次做完后,都会对代码有一些优化的想法,代码的优化本就是循序渐进的过程。

首先看下以下两个应用中的代码结构:

1、ContentProvider提供共享数据应用

2、ContentResolver访问共享的数据,并增删改查

SQLite数据库中主要是通过执行sql语句,来完成表的创建及数据的增删改查,我在TestDB.java中都已经有测试通过。

在执行sql语句时,有两种方式(delete为例,删除person表中id1的用户)

方式1

SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(delete from person where id = ?,new Object[]{1});

方式2

SQLiteDatabase db = helper.getWritableDatabase();
db.delete(“person”,“id = ?”,new String[]{id + ””});

方式2是安卓系统系统的数据库删除方式,它已经帮我们拼装好了要执行的sql语句,我们只用将变量的值往里添加即可。我觉得方式2非常好用,因此在例子中均使用方式2来示范。

ContentProvider提供的数据,在其他应用中用ContentResolver来访问,并且其Uri必须以contnet://开头,不然在访问的过程中会一直出现错误的参数类型的崩溃。

因在做访问本地音乐库时已经使用过ContentResolver,因此学习起来非常容易

直接下载demo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读