Ran*_*ser 17 database android sqlcipher android-sqlite
我需要使用SQLCipher for android ...我已经使用SQLite创建了我的应用程序,并希望将其转换为SQLCipher.
问题是,我对SQLCipher一无所知.
我在这个链接中读过它:http://sqlcipher.net/sqlcipher-for-android/
但我还是不太清楚.我想知道你是否可以为Android教程提供一些基本的sqlcipher,其中所有内容都是从绝对基础知识中轻松教授的.
谢谢!
小智 25
要正确使用SQL Cipher for Android,您必须使用外部库并更改与数据库交互的一些代码.
这些必须首先添加到您的项目中(在libs文件夹中.)请参考此处获取这些:http://sqlcipher.net/sqlcipher-for-android/
其次,您需要将icudt4dl.zip文件添加到您的assets文件夹,此Zip附带SQL Cipher库.
右键单击您的项目,转到属性,然后转到Java构建路径,然后包含诸如commons-codec.jar,guava-r09.jar,sqlcipher.jar之类的库.完成后,执行构建清理.
然后在您的应用程序中,您将导入import net.sqlcipher.database而不是导入android.database.sqlite
更改与DB交互的任何代码,例如:
SQLiteDatabase.loadLibs(上下文);
String dbPath = this.getDatabasePath("dbname.db").getPath();
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbPath,"dbPassword",null);
验证数据库是否已加密,转到Eclipse中的DDMS透视图,单击文件资源管理器选项卡,导航到data/data /,单击.db文件并选择获取设备文件,将其保存到桌面并使用文本打开它编辑.查找已插入数据库的纯文本值,如果仍然可以读取它们,则会出现问题.
在实现SQL Cipher之前查看一些SQLite教程可能也是一个好主意.这里提到一个好的: Android sqlite数据库 - 我在哪里开始教程已经用于记事本?
更新
这个答案现在已经过时了,而Eclipse实际上已经不适用于Android开发了.我最近不得不在Android Studio for Android 5 + 6上使用SQLCipher构建应用程序,这些是我遵循的步骤.
在Android Studio中,您可以在构建文件中包含SQLCipher作为依赖项.更新build gradle中的依赖项以包含以下行:
dependencies{
compile 'net.zetetic:android-database-sqlcipher:3.5.4@aar'
}
Run Code Online (Sandbox Code Playgroud)
您可以在此处了解最新版本:https: //mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher
除非我删除了lib文件夹和资产文件夹中的SQLCipher文件,否则我的应用程序不会构建,但之后它按预期工作.完成这些更改后,运行构建/清理并检查它是否有效.
上面提到的改变代码的步骤仍然有效.
虽然您仍然可以按照Zetetic的Eclipse教程自行添加.so库,但您真的不需要在Android Studio中执行此操作.只需添加一个Gradle依赖项,就像compile net.zetetic:android-database-sqlcipher:3.3.1-2@aar你已经准备好了!
在这里,您可以随时查看最新的aar版本,在这里您可以阅读有关集成的更多信息.
| 归档时间: |
|
| 查看次数: |
19337 次 |
| 最近记录: |