java - 如何使用 OrmLite 连接到受密码保护的 SQLite 数据库?

标签 java android sqlite orm ormlite

我通过这段代码从 Assets 中复制数据库:

    public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
        private static final String DATABASE_NAME = "database.db";
        private static final String DATABASE_PATH = "/data/data/"+BuildConfig.APPLICATION_ID+"/databases/";

     public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        copyFromAssets(context);
    }

      private void copyFromAssets(Context context) {
        boolean dbexist = checkdatabase();
        if (!dbexist) {
            File dir = new File(DATABASE_PATH);
                dir.mkdirs();
                InputStream myinput = context.getAssets().open(DATABASE_NAME);
                String outfilename = DATABASE_PATH + DATABASE_NAME;
                Log.i(DatabaseHelper.class.getName(), "DB Path : " + outfilename);
                OutputStream myoutput = new FileOutputStream(outfilename);
                byte[] buffer = new byte[1024];
                int length;
                while ((length = myinput.read(buffer)) > 0) {
                    myoutput.write(buffer, 0, length);
                }
                myoutput.flush();
                myoutput.close();
                myinput.close();
            }
    }
    }

为了获得 Dao,我使用这个:

public Dao<AnyItem, Integer> getDaoAnyItem() throws SQLException {
        if (daoAnyItem == null) {
            daoAnyItem = getDao(AnyItem.class);
        }
        return daoAnyItem;
    }

但是,如果我的数据库受密码保护,如何获取 Dao?

最佳答案

您必须将 SQLCipher 与 OrmLite 一起使用,我建议 ormlite-sqlcipher给你的图书馆

关于java - 如何使用 OrmLite 连接到受密码保护的 SQLite 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43654722/

相关文章:

android - 如何保护 Android 应用程序免受备份我的应用程序 .apk。我也在使用 allowBackup=false。我仍然很容易得到我的.apk

android - 在 SQLite 中获取列的类型

java - 如何通过循环迭代来模拟服务方法?

java - 如何使用 selenium WebDriver 访问 HTML 图标标签中的动态文本?

来自图库 Intent 的 Android 图片

Android 设备未显示在 adb 列表中

android - sqlite 中的问题与 android 中的 "like"

sqlite - 从错误代码中获取 SQLite3 错误消息

java - Java 中的多个 SQL 语句(使用 ?allowMultiQueries=true)

java - 使用注释映射时还需要 XML 映射吗?