java课程之团队开发冲刺阶段1.5

  一.总结昨天进度

1.昨天由于时间较少,没有太多的时间来进行学习Sqlite

  二.遇到的困难

1.由于最终的程序需要调用本地的数据库,所以我们需要在安装程序的时候就需要直接附带安装一个本地的数据库到手机中,但是还不知道如何操作

  三.今天的任务

1.由于今天的时间也不是十分的充足,但是相对于昨天较好,所以继续学习Sqlite,通过学习实现代码操作数据库的基础操作

  当日总结:

1.继续学习,先检测数据库,若没有,则从raw文件夹下复制到将数据库文件夹下然后使用

// com.test.db 是程序的包名,请根据自己的程序调整
        // /data/data/com.test.db/
        // databases 目录是准备放 SQLite 数据库的地方,也是 Android 程序默认的数据库存储目录
        // 数据库名为 test.db
        String DB_PATH = "/data/data/com.example.superman.sqlitestudy/databases/";
        String DB_NAME = "course.db";

        // 检查 SQLite 数据库文件是否存在
        if ((new File(DB_PATH + DB_NAME)).exists() == false) {
            // 如 SQLite 数据库文件不存在,再检查一下 database 目录是否存在
            File f = new File(DB_PATH);
            // 如 database 目录不存在,新建该目录
            if (!f.exists()) {
                f.mkdir();
            }

            try {
                // 得到 assets 目录下我们实现准备好的 SQLite 数据库作为输入流
                //InputStream is = getBaseContext().getAssets().open(DB_NAME);

                InputStream is = getBaseContext().getResources().openRawResource(R.raw.course);
                // 输出流
                OutputStream os = new FileOutputStream(DB_PATH + DB_NAME);

                // 文件写入
                byte[] buffer = new byte[1024];
                int length;
                while ((length = is.read(buffer)) > 0) {
                    os.write(buffer, 0, length);
                }

                // 关闭文件流
                os.flush();
                os.close();
                is.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
原文地址:https://www.cnblogs.com/heiyang/p/10759411.html