LitePal.getDatabase() SD卡数据库删除再次创建的解决方案

 
 
  • LitePal.getDatabase();

使用litepal.xml文件静态创建数据库 貌似只创建一次数据库 修改存储路径为SD卡 如果手动删除SD卡中的数据库 再次执行 litepal.getDatabase 并不能再次创建 

查询相关文档:https://mp.weixin.qq.com/s/C7nbJXOS9lYPgOda-8Pw0A
发现 litepal 1.4.0版本开始支持多数据库和动态创建数据

  • 我这里的需求是 当程序打开检测到SD卡的数据库被删除之后 会默认再次创建 避免后续的CRUD报错 并且和litepal.xml中的model一致,这里选择的方法是如下:

LitePalDB litePalDB = LitePalDB.fromDefault("demo3");
LitePal.use(litePalDB);

  • 因为技术有限 看源码比较吃力 目前摸索出来的解决方案:
//执行一次 建立和litepal.xml等某些文件的联系
                LitePal.getDatabase();

                //动态创建数据库 避免SD卡删除数据库文件 造成的CRUD报错
                LitePalDB litePalDB = LitePalDB.fromDefault("BookStore");
                LitePal.use(litePalDB);


猜你喜欢

转载自blog.csdn.net/qq_17058993/article/details/80089681
今日推荐