我已经发现,没有办法将文件Bundle 到.apk中并将它们放在/sdcard上,到目前为止,最好的 Select 是在第一次运行时下载大文件.我读到了一篇教程,讲述了如何将sqlite db与apkBundle 在一起,然后复制它,以便可以使用SQLiteDatabase访问它(从而使所需的空间翻了一番,而且根本不使用/sdcard).

http://developer.android.com/guide/topics/data/data-storage.html#db表示所有数据库必须位于/data/data/package_name/Databases中.

真的是这样吗?有没有办法欺骗框架打开放在/sdcard分区上的数据库?有没有办法使用另一个SQLite java包装器/框架来访问这样的数据库?

如果上述问题的答案是否定的,我还有其他 Select 吗?我的数据在关系模型中表示得很好,但是太大了,另外,我希望能够在不需要重新安装/升级整个应用程序的情况下对其进行更新.

推荐答案

你当然可以.doctor 们对此有点矛盾,因为他们还说没有施加任何限制.我想他们应该说相对路径是指向上述位置的,而那里的DBS是私有的.以下是您需要的代码:

File dbfile = new File("/sdcard/mydb.sqlite" ); 
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
System.out.println("Its open? "  + db.isOpen());

Database相关问答推荐

找不到复制副本集

Metasploit 数据库警告

华为Appcube中的对象字段类型

如何使用actors进行数据库访问和DDD?

管理数据库中的产品计数

带有字符串列的 SQL 之间的子句

Spring Boot:如何使用多个模式并在运行时动态 Select 使用哪一个

如何在 Windows 中安装 InfluxDB?

如何在大型数据库中使用 typeahead.js

Sitecore - 将项目从 Web 移动到 Master?

Redis: Get key and value on expiration

Django 数据库值的最佳推荐方式是什么?

QSqlDatabase & QSqlQuery 的正确方法是什么?

Django Atomic Transaction 是否锁定数据库?

唯一(多列)并且在一列中为空

Django + PostgreSQL:如何重置主键?

使用批处理文件执行一组 SQL 查询?

复式记账的关系数据模型

如何从多个表中 Select 不同的值

在 Heroku 上预编译assets时如何普遍跳过数据库接触