当前位置:  开发笔记 > 前端 > 正文

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

如何解决《我可以在/sdcard上下载SQLite数据库并从我的Android应用程序访问它吗?》经验,为你挑选了2个好方法。

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

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

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

如果上述答案为"否",我还有其他选择吗?我的数据在关系模型中有很好的表现,但是太大了,而且,我希望能够更新它而无需重新安装/升级整个应用程序.



1> AdamC..:

你当然可以.文档对此有点矛盾,因为他们也说没有限制.我认为他们应该说相对路径是在上面的位置和dbs那里是私人的.这是您想要的代码:

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


然后我们可以从应用程序中的所有活动访问该数据库文件??? 我不能按常规做!

2> 小智..:

试试这个:

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

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有