Android:在SD卡上使用SQLite数据库(根本不使用内部Android数据存储)

Android:在SD卡上使用SQLite数据库(根本不使用内部Android数据存储),android,sqlite,Android,Sqlite,有人能给我一些链接/教程来使用存储在SD卡上的SQLite文件吗?没有实现OpenHandler /SD卡//info.db 我想使用外部SQlite数据库文件(不使用Android内部数据存储),因为我想经常更新数据库文件,以便在info.db上提供更多最新信息 谢谢。您试过使用吗?您只需将“/sdcard/info.db”作为第一个参数传递,将null作为第二个参数传递即可。由于部分安全问题,我建议您不要将数据库放在SD卡上(对设备和SD卡具有物理访问权限的每个人,包括设备上运行的所有应用程

有人能给我一些链接/教程来使用存储在SD卡上的SQLite文件吗?没有实现OpenHandler

/SD卡//info.db

我想使用外部SQlite数据库文件(不使用Android内部数据存储),因为我想经常更新数据库文件,以便在info.db上提供更多最新信息


谢谢。

您试过使用吗?您只需将
“/sdcard/info.db”
作为第一个参数传递,将
null
作为第二个参数传递即可。

由于部分安全问题,我建议您不要将数据库放在SD卡上(对设备和SD卡具有物理访问权限的每个人,包括设备上运行的所有应用程序,都或多或少拥有对数据库文件的完全访问权限)但也由于硬件问题(SD卡的使用寿命有限,仅限于可以在其上执行的写操作总数)


这里也讨论了这些问题:

好的建议,但你不应该至少顺便提一下,当应用程序因为没有安装SD卡而无法加载DB时会发生什么情况吗?——在其他200万件会出错的事情中:)哦,好的一点!我完全忘了提到SD卡可能不可用。非常感谢您注意到了这一点,因为我当前的项目还需要将数据缓存到SD卡上的SQLite DB中(如果可用)。@mreichelt我这样做了,但在安装应用程序时,它仍然在内部存储上创建数据库,我还使用了context.getExternalFilesDir(null).getAbsolutePath()+“/”+数据库名称,而不是硬编码SD卡路径,但无法对SD卡上的数据库进行加密/解密。因为日期需要受到其他应用程序的保护。从技术上讲,这应该是可能的,因为SQLite数据库是一个文件数据库。但根据实现情况,它可能会影响性能(例如,如果出于某种原因需要为每次读取操作解密数据库)。