【Android studio】批量数据导入到android 本地数据库

项目中遇到一个问题,我现在需要在本地原有的数据库中导入大量的数据来进行数据模拟操作,app中使用了litepal来操作的数据库,下面来说一下我是怎么不使用一行代码来进行大量数据的导入以及记录一些过程遇到的一些问题

准备工作

  1. 电脑上安装了 sql 数据的可视化工具,我使用的是navicat 15 ,有wps来操作excel
  2. 在Device File Explore(在android studio的右下角一般有快捷打开的窗口)中找到数据库存放的位置,一般是在data/data/包名/database/ 下,会看到三个文件
    与图中格式类似 ps:为啥要找到原有的数据库是因为,你要操作的是这个数据库,如果有类名及结构一样的数据库导入会提示数据库的版本号不一致(如果版本号一致,是否会引入其他问题就不知道啦)

操作步骤

1. 原始数据库导出
右键点击原始数据库所在的项目的包名,点击save as 另存数据库到你电脑的你知道的目录
2. 使用navicat 打开导出的数据库
打开navicat工具,会是一个空的,将导出的文件直接拖拽进去,会自动打开
** 3. 从navicat中导出数据格式为excel格式**
双击你要导出数据的表,打开后可以查看,项目本地原有的数据(当然这个数据你其实在usb连接手机,打开项目时的Android studio底部的APP inspection中也能看到),然后点击navicat中表上方的导出,选择excel数据打格式,根据提示操作,一直点击下一步即可,到最后一步点击开始就会看到绿色的进度条,(记得记录下自己导出的目录)
在这里插入图片描述
4.excel打开文件进行数据的添加操作
4.1 添加数据时记得与你定义的表中的字段类型相匹配,
4.2 注意检查char类型的数据,给一个默认的初始值,不然在导入到项目中的时候会出现Caused by: java.lang.StringIndexOutOfBoundsException: length=5; regionStart=0; regionLength=0的错误
4.3 注意表中定义的key值,需要进行列的去重处理,id值需要递增等
4.4 navicat导出末尾会被增加一列,可以检查一下在操作时可以删除
4.4 操作时记得保存
5.将excel 表导入到原有的数据库表中
打开navicat(步骤2),点击导入,选择excel导入,
在这里插入图片描述
点击下一步,选择操作的excel的接下来,默认就好,点击下一步,选择模式,选择追加或更新,因为我们是添加要数据,如果只是修改可以选择更新
在这里插入图片描述点击下一步,点击开始即可,进度条结束了就可以在navicat中进行数据相关检查,有没有显示空白的,如果有,就需要检查一下列,如果显示灰色的nul才是正常的没有数据(我的这个数据下的最后一列是char类型的,我给他默认了0,因为这个字段其实我没有真正的再项目中使用)
在这里插入图片描述6. 导入到项目的数据库中
在Android studio中打开device file exlore,点击原有的数据库的目录下database(步骤1中的逆向操作,这次选择upload),点击upload,选择navicat中数据库的所在位置(其实也就是你在步骤1中的导出位置,)点击shift进行三个文件的选择,点击ok即可,会有进度条提示,注意查看三个文件的大小
在这里插入图片描述然后依旧在database中右键选择,进行synchronize的进行刷新,此时可以在AS底部的 app inspect中查看数据是否导入成功,
接下来就可以愉快的进行项目相关测试及问题排查啦

本文完~
如果你知道怎么在navicat 15中进行数据的批量添加请在评论区告诉我具体的操作 步骤
如果你需要要navicat 15的软件的相关安装包,请私信我

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值