Litepal初始化数据库问题研究

来源:互联网 发布:一生只爱你南风知意txt 编辑:程序博客网 时间:2024/04/28 14:04

对JavaWeb稍微了解过的都知道三在框架的重要性,而转向Android之后,我们发现安卓并不是非常强调对于框架的使用。或许是因为Android的发展时间还短,对于安卓的理解大家没有达成一致,我相信更多的是安卓的框架本身并不是非常好用。

安卓对于数据库的ORM框架也有几个,现在比较流行的应该是Xuitls,GreenDao。我们目前使用的Litepal。当我们使用到数据库的时候,我们会发现很多时候,我们需要在apk安装的时候就提前打包进去一个已经有数据的数据库。当我在使用Litepal的时候却发现,它不支持随便的一个数据库,Litepal只识别位于项目根目录下边的database目录下边的数据库文件。

为了解决初始化数据库问题,第一个办法是 apk安装时,创建一个空的数据库,原来初始化数据。这个思路最大的问题是效率太慢,初始化写入的数据量一旦稍微大一点,会造成时间特别长。

最后是写了一个脚本代码,把数据库初始写入的操作提前,提前生成数据库文件,然后在apk安装时,直接把已经准备好的数据库文件写入到Litepal识别的目录下边。这个时候一定要注意,在数据库文件拷贝完成之前,不要调用任何Litepal相关的操作。一旦使用,就会在项目中建立一个数据库连接,而这个连接是会保存在数据池中,后边在完成数据库文件的拷贝后,调用方法时会默认使用这个连接,连接的数据库还是空数据库,会造成数据读取的错误,这一点一定要注意。

0 0
原创粉丝点击