首页 > 移动平台 > 详细

android studio下使用SqlCipher

时间:2015-08-27 18:40:53      阅读:254      评论:0      收藏:0      [点我收藏+]

android studio和eclipse 稍微有点不同。
Android studio 版本1.3
SqlCipher 版本3.3.1
1.将sqlcipher.jar复制到工程文件夹libs中;
2.在工程main下,新建两个文件夹jniLibs和assets,将amreabi文件夹整个复制到jniLibs中,将icudt46l.zip复制到assets中;
结构图如下:
技术分享
3.加载该类

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ButterKnife.bind(this);
        SQLiteDatabase.loadLibs(this);  //在使用该类之前加载,而且只加载一次
    }

注意导入的包为:import net.sqlcipher.database.SQLiteDatabase;

4.创建数据库的时候注意的细节
此方法无法打开数据库

      database = SQLiteDatabase.openOrCreateDatabase("data", "123456", null);
        if (database != null) {
            database.execSQL("CREATE TABLE IF NOT EXISTS person_student(name VARCHAR(20) NOT NULL , age INT(3))");
        }

这种才可以

    File file = context.getDatabasePath("data");
        file.mkdirs();
        database = SQLiteDatabase.openOrCreateDatabase(file, "123456", null); //
        if (database != null) {
            database.execSQL("CREATE TABLE IF NOT EXISTS person_student(name VARCHAR(20) NOT NULL , age INT(3))");
        }

比较两种方法,多了一步手动创建文件夹。

使用方法基本相同,它的加密解密都在内部完成,和我们写程序基本没关系,主要作用是防止别人通过root权限直接查看明文数据库。

版权声明:本文为博主原创文章,未经博主允许不得转载。

android studio下使用SqlCipher

原文:http://blog.csdn.net/wuqiong657/article/details/48031155

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!