灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2635回复:0

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

楼主#
更多 发布于:2012-09-06 13:49


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


喜欢0 评分0
游客

返回顶部