美文网首页Kotlin编程KotlinAndroid开发
60. (android开发)SQLite作为APP应用的配置打

60. (android开发)SQLite作为APP应用的配置打

作者: 厚土火焱 | 来源:发表于2018-01-07 17:59 被阅读166次

    虽然可以在APP代码中实现初次运行的时候建立数据库表和表中的数据。但是这样很容易在某次不小心中搞出点bug来。尤其是还把APP的各种配置信息写在SQLite中的,如果发生错误,寻找排查起来可能会非常耗时。那么更好的方式是,把SQLite在发布前就准备好。
    首先在开发阶段就建立好SQLite数据库,待完成好数据库表和表中的字段内容后,把这个库文件保存在APP的assets路径中。在这个路径里,可以任意的建立路径深度,并且在代码中可以直接访问。我们只需要在APP运行时候,判断一下私有文件夹或SD卡的指定位置是否有我们需要的配置库就可以了。如果没有,就从assets路径下把配置库复制过来。

    为了方便测试,把现有的库当作我们需要的配置库来用。首先在SQLite Expert中修改一下字段内容,以便和将来增加的记录进行区别。 修改了status状态字段
    打开Android Studio找到assets文件夹 assets文件夹

    把数据库文件粘贴进去


    image.png
    image.png
    已经放进去了
    在代码中,需要把这个数据库文件复制到指定位置,就写成一个独立的方法吧。每次onCreate的时候调用一下。
    代码如下
        /**
         * Cofox 系统参数数据库初始化
         * created at 2018/1/7 17:54
         * 功能描述:
         * file:SQLiteActivity.kt
         * 
         * 
         * 修改历史:
         * 2018/1/7:
         * 
         */
        fun appParamConfig(fileName:String){
            /**目标文件*/
            val file = File(fileName)
            //如果文件不存在就复制
            if (!file.exists()){
                //获取数据库文件的InputStream对象
                val inputStream = resources.assets.open("cofoxTest.db")
                val fos = FileOutputStream(fileName)
                val buffer = ByteArray(100)
                var count = 0
                while (true){
                    count = inputStream.read(buffer)
                    if (count < 0){
                        break
                    }
                    fos.write(buffer, 0, count)
                }
                fos.close()
                inputStream.close()
            }
        }
    

    然后我们在界面上增加一个按钮,并把按钮的操作写为触发这个方法。

            //初始化数据库文件
            btnSQLiteDbFileInit.setOnClickListener {
                appParamConfig(fileName)
            }
    
        <Button
            android:id="@+id/btnSQLiteDbFileInit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="初始化数据库文件" />
    
    image.png

    初次运行后,点击“初始化数据库文件”按钮,再点击“查询记录”按钮,得到运行结果。


    初次运行结果

    注意最后的配置信息config

    相关文章

      网友评论

        本文标题:60. (android开发)SQLite作为APP应用的配置打

        本文链接:https://www.haomeiwen.com/subject/izzpnxtx.html