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

时间:2024-01-09 11:11:56

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框架进行配置。

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

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类中设置密码

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

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

SQLiteDatabase.loadLibs(this);

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

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

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