Android数据库--Sqlcipher的使用(二)

news/2024/7/8 5:30:29

1、使用Sqlcipher对数据库加密,并结合ORM框架LitePal进行使用。

2、对LitePal的使用我就不在讲解了,大家可以参考下面七篇博客:

    http://blog.csdn.net/guolin_blog/article/details/38461239

    http://blog.csdn.net/guolin_blog/article/details/38556989

    http://blog.csdn.net/guolin_blog/article/details/39151617

    http://blog.csdn.net/guolin_blog/article/details/39207945

    http://blog.csdn.net/guolin_blog/article/details/39345833

    http://blog.csdn.net/guolin_blog/article/details/40083685

    http://blog.csdn.net/guolin_blog/article/details/40153833

3、对Sqlcipher的使用,大家可以参考我的博客:http://www.cnblogs.com/begin1949/p/4985883.html

4、本篇博客采用Android Studio开发。

5、第1,2,5部分为Sqlcipher相关的包和文件,第4部分为LitePal源码,第3部分为LitePal配置文件。不要忘记在AndroidManifest.xml中对LitePal框架进行配置。

6、对第4部分的LitePal源码进行修改(和数据库有关的类都要修改),将里面引用的类修改为对Sqlcipher框架中类的引用,主要包括SQLiteDatabase、Cursor。

即将
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
改为
import net.sqlcipher.Cursor;
import net.sqlcipher.database.SQLiteDatabase;
其他不用修改。

7、在Connector类中设置密码

8、在使用LitPal数据库之前一定要加上下面这句代码,进行初始化设置。

SQLiteDatabase.loadLibs(this);

9、接下来即可使用LitePal框架操作数据库了,和原来使用LitePal没有区别,这里不再过多介绍。

10、我们可以使用Root Explor来查看手机上面APP数据库是否已经成功加密,(手机一定要先Root过),加密成功会出现下面情况。数据在/data/data/应用包名/database目录下面。

转载于:https://www.cnblogs.com/begin1949/p/4985900.html


http://www.niftyadmin.cn/n/2643647.html

相关文章

8天玩转并行开发——第四天 同步机制(上)

在并行计算中,不可避免的会碰到多个任务共享变量,实例,集合。虽然task自带了两个方法:task.ContinueWith()和Task.Factory .ContinueWhenAll()来实现任务串行化,但是这些简单的方法远远不能满足我们实际的开发需要&…

修改远程登录端口

1.打开注册表之后,按顺序点击[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control \Terminal Server\Wds\rdpwd\Tds\tcp],然后看到右侧的PortNumber,右击点击修改。这里注意要将基数选项改为十进制 2.打开[HKEY_LOCAL_MACHINE\SYSTEM\Curr…

redis学习#随便瞎玩的收获

2019独角兽企业重金招聘Python工程师标准>>> 2015年11月26日redis windows 下学习#乱玩心得(第一次写博客写的差别介意) 平常习惯用onenote 博文应该都是从里面翻出来的。 redis-2.4.5-win32-win64 这是我用的redis 有32位和64位的解压就能用,资源网上一…

Linux下拆分大文件

2019独角兽企业重金招聘Python工程师标准>>> linux split 命令 功能说明&#xff1a;切割文件。 语  法&#xff1a;split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名] 补充说明&#xff…

8天玩转并行开发——第六天 异步编程模型

在.net里面异步编程模型由来已久&#xff0c;相信大家也知道Begin/End异步模式和事件异步模式&#xff0c;在task出现以后&#xff0c;这些东西都可以被task包装 起来&#xff0c;可能有人会问&#xff0c;这样做有什么好处&#xff0c;下面一一道来。 一&#xff1a; Begin/En…

8天玩转并行开发——第七天 简要分析任务与线程池

其实说到上一篇&#xff0c;我们要说的task的知识也说的差不多了&#xff0c;这一篇我们开始站在理论上了解下“线程池”和“任务”之间的关系&#xff0c;不管是 说线程还是任务&#xff0c;我们都不可避免的要讨论下线程池&#xff0c;然而在.net 4.0以后&#xff0c;线程池引…

vim命令——全屏编辑器

编辑模式(命令模式)输入模式末行模式模式转换&#xff1a;编辑-->输入&#xff1a;i: 在当前光标所在字符的前面&#xff0c;转为输入模式&#xff1b;a: 在当前光标所在字符的后面&#xff0c;转为输入模式&#xff1b;o: 在当前光标所在行的下方&#xff0c;新建一行&…

ASP.NET MVC 学习之路由(URL Routing)

在ASP.NET MVC中&#xff0c;一个URL请求是由对应的一个Controller中的Action来处理的&#xff0c;由URL Routing来告诉MVC如何定位到正确的Controller和Action。 默认路由表 当我们在VS中创建一个新的 ASP.NET MVC程序&#xff0c;程序将会自动使用默认的路由表。 public sta…