递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 171|回复: 4
打印 上一主题 下一主题

[安卓] 火山安卓“读入共享文件”的问题

[复制链接]

1

主题

9

帖子

47

积分

新手上路

Rank: 1

积分
47
跳转到指定楼层
楼主
发表于 前天 22:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
火山安卓,用“读入共享文件“方法时,其目录参数(第一个参数)如果直接用其默认值”安卓配置信息.文档目录“,则无法正确读入数据(返回一个空对象),而如果用其目录下的子目录,则能正确读入文件。比如以下语句:字节集1 = 读入共享文件 (安卓配置信息.文档目录, "sqlite1.db3", ),将返回一个空对象,如果改为:字节集1 = 读入共享文件 (安卓配置信息.文档目录 + "/myapp", "sqlite1.db3", ),则能正确读入字节集对象,不知大家有没有遇到过这种情况?
回复

使用道具 举报

452

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
42662
沙发
发表于 昨天 10:19 | 只看该作者
自己的软件创建共享文件的时候,自己创建一个目录进行存储。

也就是在 写出共享文件 的时候,最好是写上一个目录名。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

1

主题

9

帖子

47

积分

新手上路

Rank: 1

积分
47
板凳
 楼主| 发表于 昨天 10:35 | 只看该作者
      更新:大家好!我是题主,昨天发的帖子里描述不准确,后来又试了几次,重新描述一下,恳请大家指导:
      我的安卓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”),手动删除上次的所有备份文件以后,就又能成功备份和导入了。
      以上描述的问题也不知是我操作的问题,还是开发环境的问题,恳请大家多多指导。(代码既然能第一次备份和导入成功,我想应该是没问题的吧?)


回复

使用道具 举报

1

主题

9

帖子

47

积分

新手上路

Rank: 1

积分
47
地板
 楼主| 发表于 昨天 10:39 | 只看该作者
创世魂 发表于 2025-4-3 10:19
自己的软件创建共享文件的时候,自己创建一个目录进行存储。

也就是在 写出共享文件 的时候,最好是写上一 ...

谢谢您!确实是应该自己创建一个存储目录的。不过后来又遇到一个问题,见我刚才的“更新.....”帖子(3楼)
回复

使用道具 举报

1

主题

9

帖子

47

积分

新手上路

Rank: 1

积分
47
5#
 楼主| 发表于 昨天 12:23 | 只看该作者

      补充:我想干脆用代码删除共享文件以后再备份,代码是:

删除共享文件 (安卓配置信息.文档目录+ "/myapp",   "sqlite_1.db3")

      结果也不行:删除共享文件”返回是“假”。改为删除"/myapp"子目录也仍然返回“假”。

      改成以下“写出共享文件”方式,也不成功:
     
字节集2 = 读入文件 (全_内部私有数据目录.取文件名 () + "/sqlite_1.db3")

写出共享文件 (安卓配置信息.文档目录 + "/myapp",  "sqlite_1.db3",  字节集2,  ,  )

    目前,用“安卓共享文件类”里的 “复制文件到共享目录()”、“读入共享文件()”、“删除共享文件()”、“写出共享文件()”等方法均不成功,我是新手,恳请大家指导为盼!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-4-4 05:29 , Processed in 0.085082 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表