Android中加载数据库到data/data下的当前包中
3146 点击·0 回帖
![]() | ![]() | |
![]() | 在Android系统中,如果需要使用数据库的话,我们一般会使用SQLLite数据库,同时将数据库放在res\raw目录下,这样方便发布系统的时候,将数据库一同发布。 在系统中对数据库进行访问的时候,我们则一般会将数据库拷贝到我们data/data目前下的我们当前包的名称的目录下,这样更方便我们进行操作。 大家可以参考下面的示例代码: // 复制和加载区域数据库中的数据 private void CopyAndLoadDB() { // 第一次运行应用程序时,加载数据库到data/data/当前包的名称/database/<db_name> dir = new File("data/data/" + getPackageName() + "/databases"); if (!dir.exists() || !dir.isDirectory()) { dir.mkdir(); } file = new File(dir, "china_province_city_zone.db3"); if (!file.exists()) { FileUtil.loadDbFile(R.raw.china_province_city_zone, file, getResources(), getPackageName()); Log.d("WineStock", "DataBase Load Successfully"); } } | |
![]() | ![]() |