目前,我正在开发一个Android应用程序,它将在打开时立即从服务器下载sqlite数据库。我必须在应用程序中频繁使用此数据库文件,并且必须经常从此数据库文件中获取数据。那么,移动设备中该数据库的正确位置或目录应该是什么,所以我可以有效地读/写这个数据库文件。
答案 0 :(得分:0)
默认情况下,新创建的数据库存储在:
中//data/data/<Your-Application-Package-Name>/databases/<your-database-name>
但是在非root设备上无法访问此文件夹。通过Internet传输数据库存在安全风险,但如果绝对必要,您可以像这样修改MySQLiteOpenHelper构造函数:
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
MySQLiteOpenHelper(Context context) {
super(context, "/mnt/sdcard/<your-app-name>/database_name.db", null, 0);
}
}
通过执行此操作,您将数据库存储在SD卡上的文件夹中。
请记住,通过使用此方法,您需要额外的权限才能在manifest.xml中写入外部存储:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
您可以在此处找到更多信息和示例:Location of sqlite database on the device