Android中加载数据库到data/data下的当前包中

在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");

}
}


你可能感兴趣的:(android)