我可以在 /sdcard 上下载 SQLite 数据库并从我的 Android 应用程序访问它吗?

2024-03-15

我已经发现无法将文件捆绑在 .apk 中并将它们放在 /sdcard 上,迄今为止最好的选择是在首次运行时下载大文件。我看到一个教程,介绍如何将 sqlite 数据库与 apk 捆绑在一起,然后复制它,以便可以使用 SQLiteDatabase 访问它(从而使所需空间加倍,并且根本不使用 /sdcard)。

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

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

如果上述答案是“否”,我还有哪些其他选择?我的数据在关系模型中得到了很好的体现,但太大了,另外,我希望能够更新它,而无需重新安装/升级整个应用程序。


你当然可以。这些文档对此有些矛盾,因为他们还说没有施加任何限制。我认为他们应该说相对路径是到上述位置的,并且那里的数据库是私有的。这是您想要的代码:

File dbfile = new File("/sdcard/mydb.sqlite" ); 
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
System.out.println("Its open? "  + db.isOpen());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 /sdcard 上下载 SQLite 数据库并从我的 Android 应用程序访问它吗? 的相关文章

随机推荐