Litepal初始化数据库问题研究

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

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

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值