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,File,database)