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

前端之家收集整理的这篇文章主要介绍了将SqLite数据库中的数据共享给其他应用增删改查前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在之前的工作中,遇到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

原文链接:https://www.f2er.com/sqlite/198694.html

猜你在找的Sqlite相关文章