2> 解压后的目录如下,将对应的文件拷入到相应的 Android 工程目录中
3> 创建数据库操作方法 MyDatabaseHelper.java 具体代码如下:
import android.content.Context;
import net.sqlcipher.database.SQLiteDatabase;
import net.sqlcipher.database.SQLiteDatabase.CursorFactory;
import net.sqlcipher.database.SQLiteOpenHelper;
public class MyDatabaseHelper extends SQLiteOpenHelper
{
public static final String CREATE_TABLE = "create table Book(name text, pages integer)";
public MyDatabaseHelper(Context context, String name, CursorFactory factory, int version)
{
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2)
{
}
}
注:1> 加入 SQLCipher 对应的库之后,所有的数据库操作方法全部都是用 SQLCipher 库中的方法
2> SQLiteDatabase.loadLibs(this) 涉及到数据库必须使用而且需要先声明才能执行实例化的数据库
3> 添加方法是实现 getWritableDatabase("thisismyencryptstringkey"),参数是字符串类型,如果为 “" 的话表示不加密,这里要注意的是不能包含逗号否者也是实现不了加密的
4> 如果你使用多个类似个继承自DBHelper大的MyDBHelper或者类似的工具类,那么即使加密的密匙相同你会发现他们是不能写入相同数据库的!即使不加密也不可以,所以,如果使用多个MyDBHelper类(相当于执行了多次dbOpenHelper.getWritableDatabase(YOURKEY)这句加密的语句),应当分开在不同的数据库,或者合并这些类
5> 对于使用原生的 SQLite 数据库操作方法,但使用
SQLCipher 操作时将会发生错误