android绑定sqlite数据库与程序一起发布

由于需求需要某程序一安装就得有几个数据 , 而现在的程序是一运行先判断表是否存在,不存在则创建,存在则不创建。所以去网上找了半天,找到了解决方案。 就是把数据库文件放在res/raw下 貌似android 的 raw下视不会被编译成二进制的。然后一运行程序就判断是否存在数据库表不存在则通过输入输出流复制raw下的数据库文件到手机中.代码如下

代码片段(1)

[代码] [Java]代码

01try {
02
03    Log.e(DATABASE_PATH, DATABASE_PATH);
04    String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
05    File dir = new File(DATABASE_PATH);
06  
07    if (!dir.exists())
08        dir.mkdir();
09  
10    if (!(new File(databaseFilename)).exists()) {
11
12        InputStream is = getResources().openRawResource(
13                R.raw.healthmanage);
14        FileOutputStream fos = new FileOutputStream(databaseFilename);
15        byte[] buffer = new byte[8192];
16        int count = 0;
17      
18        while ((count = is.read(buffer)) > 0) {
19            fos.write(buffer, 0, count);
20        }
21
22        fos.close();
23        is.close();
24    }
25  
26
27} catch (Exception e) {
28    Log.e("出错了", "出错了");
29}
posted @ 2012-09-05 15:27  子福当自强  阅读(183)  评论(0编辑  收藏  举报
悟道