|
更新:大家好!我是题主,昨天发的帖子里描述不准确,后来又试了几次,重新描述一下,恳请大家指导:
我的安卓app涉及一个数据库文件,文件名是“sqlite_1.db3”。用一段时间后里面会有新数据,我想把它在手机的共享文件夹里备份一份,这样以后重新安装程序的话,可以再导入回来使用。我的备份操作代码如下:(里面的“全_内部私有数据目录”、 “字节集1”是我自定义的成员变量)
复制文件到共享目录 (全_内部私有数据目录.取文件名 () + "/sqlite_1.db3", 安卓配置信息.文档目录 + "/myapp", "sqlite_1.db3", , )
导入操作代码如下:
字节集1 = 读入共享文件 (安卓配置信息.文档目录 + "/myapp", "sqlite_1.db3", )
写出文件 (全_内部私有数据目录.取文件名 () + "/sqlite_1.db3", 字节集1, 真)
我用的模拟器是“MUMU模拟器12”,调试时第一次备份能够成功备份,也能成功导入。紧接着第二次备份再导入时,发现导入的是第一次备份的旧文件,而不是刚刚第二次备份的新文件。我进入“MUMU模拟器12”的文档目录(“Documents/myapp”),发现第二次备份的文件会自动换个名字"sqlite_1(1).db3"保存,而不是我想要的覆盖保存,然后每次备份,均会以此类推换个名字复制到“myapp”子目录里保存,这样导致我导入文件的时候就会导入旧文件,而不是新文件。
更大问题是,如果重新调试程序,即相当于重新安装程序后,导入文件就无法正确导入了:“读入共享文件”返回的是空对象!备份也无法正确备份:“复制文件到共享目录”返回的是“假”!不过,如果我进入“MUMU模拟器12”的文档目录里(“Documents/myapp”),手动删除上次的所有备份文件以后,就又能成功备份和导入了。
以上描述的问题也不知是我操作的问题,还是开发环境的问题,恳请大家多多指导。(代码既然能第一次备份和导入成功,我想应该是没问题的吧?)
|
|