2016-04-24 82 views
0

目前,我正在开发一个android应用程序,它将立即从服务器下载sqlite数据库,一旦它被打开。我必须在应用程序中频繁使用此数据库文件,并且必须频繁地从此数据库文件中获取数据。那么,移动设备中该数据库的正确位置或目录应该是什么,所以我可以高效地读取/写入这个数据库文件。什么应该是Android应用程序中的SQLite数据库的位置?

+0

内容提供商,syncadapter – Pomagranite

回答

0

默认情况下,新创建的数据库存储在:

//data/data/<Your-Application-Package-Name>/databases/<your-database-name> 

但是这个文件夹是不可访问的非根设备。传输通过互联网数据库是有风险的安全,但如果它是绝对必要的,你可以修改这样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

相关问题