android 将Mysql的表弄成.db文件

自己项目的需求是,后台提供全国的省市区县的接口,目的是为了保持pc端和app的拿到的数据是一致。我一开始的做法是,请求数据,然后通过sqlite插入本地数据库。结果3千多条的数据,插入时间花了近1分钟,造成了anr异常。于是我就去查找各种如何快速插入数据库的方法,根据网上的做法,就是使用什么事物来管理,折腾了大半天,发现还是不行,只要插入时间超过7、8秒都会造成ANR异常。

于是我又想通过另一种解决方法,在anr异常的情况下,有时候数据还是能完整的存到本地数据库,想通过手机拿到db文件,发现data/data目录打不开,是因为手机没有root权限,问题又来了,要想获取root权限,手机需要刷过机,网上找了半天的如何刷机包,如何root,终于查到个说模拟器可以打开data目录,但是模拟器7.0以上是打不开,需要安装点其他东西好像,但是5.0的可以,于是用了5.0版本是模拟器,终于展开了data目录,结果悲剧的事又发生,要将db文件导到电脑,导不出来....

以上是我踩过的坑。下面是我最终解决的方法:

1、网上下载了能打开db文件的数据库

2、让后台提供的省市区县的表,并且是.csv结尾的文件

注:有个很神奇的事,后台给的csv文件,用xlsx打开,中文字是完整的,然后到导入SQLite Expert Professional这个软件,字就乱码了。如果csv文件,用xlsx打开是乱码的话,用SQLite打开反而是对。

最后是使用这个软件生成的csv文件。

3、使用SQLite新建、导入。生成db文件,完事

新建db文件

导入csv文件

猜你喜欢

转载自blog.csdn.net/qq_30730419/article/details/81778227