gpt4 book ai didi

android - net.sqlcipher.database.SQLiteDatabase 未创建未加密的数据库

转载 作者:行者123 更新时间:2023-11-30 03:31:08 29 4
gpt4 key购买 nike

在我的 android 应用程序中,我需要为用户提供创建加密或非加密数据库的选项;数据库将保存在设备 sdcard 中。

对于我正在使用的非加密数据库:-

db = SQLiteDatabase.openOrCreateDatabase(DB_PATH + DB_NAME, "", null);

但是当我通过命令行打开数据库时,出现错误:文件已加密或不是数据库。所以上面的代码行总是创建加密的数据库。

我的代码如下:

if(db == null){
try{
SQLiteDatabase.loadLibs(context);
String encryptStr = "";

if(new File(DB_PATH + DB_NAME).exists()){
db = SQLiteDatabase.openOrCreateDatabase(DB_PATH + DB_NAME, encryptStr, null);
}else{

db = SQLiteDatabase.openOrCreateDatabase(DB_PATH + DB_NAME, encryptStr, null);
executeSchema(context);
}

db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
}catch(Exception e){
db = null;
AlertHelper.logError(e);
}
}

有什么方法可以在 android 中使用 sqlcipher 创建非加密数据库?

最佳答案

我得到了答案。使用空字符串作为密码会创建未加密的数据库。我的问题是我正在使用命令行检查数据库;它不支持 sqlcipher.database,所以它总是返回加密的 db。

我在 eclpise 中使用“拉”按钮从设备中拉出我的数据库,然后在 Lita(用于查看数据库的软件)中打开它。具有空 key 的数据库打开,但具有非空 key 的数据库表明该数据库已加密,因此无法打开。

关于android - net.sqlcipher.database.SQLiteDatabase 未创建未加密的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17466944/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com