当前位置: 首页 > news >正文

创维网站关键字优化珠海网站设计平台

创维网站关键字优化,珠海网站设计平台,网站建设方案书 doc,安徽网站建设怎么样【HarmonyOS】鸿蒙将资源文件夹Resource-RawFile下的文件存放到沙箱目录下 一、问题背景 应用开发中#xff0c;我们经常会遇到一些文件原先是放在资源文件夹 rawfile下#xff0c;但是逻辑处理时#xff0c;需要转移到本地沙箱才能操作。这种情况下#xff0c;就需要将将…【HarmonyOS】鸿蒙将资源文件夹Resource-RawFile下的文件存放到沙箱目录下 一、问题背景 应用开发中我们经常会遇到一些文件原先是放在资源文件夹 rawfile下但是逻辑处理时需要转移到本地沙箱才能操作。这种情况下就需要将将资源文件夹Resource-RawFile下的文件存放到沙箱目录下。 二、鸿蒙资源文件和沙箱的概念 在鸿蒙中应用仅能保存文件到“应用文件目录”下根据目录的使用规范和注意事项来选择将数据保存到不同的子目录中。 这样的设定与安卓和苹果目前一致。应用沙箱的概念可以保证数据访问的安全性。 在鸿蒙系统中文件存储分为不同的域如应用内部存储应用私有目录和外部存储公共目录等。应用内部存储是应用私有的其他应用通常无法访问。外部存储可以在用户授权的情况下被多个应用访问。 注意 不要使用绝对路径拼接系统文件路径否则可能导致后续应用版本因应用文件路径变化导致不兼容问题。应该是用context去动态获取。 而rawfile是一种资源文件类型通常在应用开发过程中作为原始文件被打包进应用的资源目录。它在 APK安卓应用安装包或者鸿蒙应用安装包HAP中是只读的。 三、解决方案思路 1.首先我们需要通过getRawFileContentSync读取rawfile下目标文件的内容val let val: Uint8Array context.resourceManager.getRawFileContentSync(test.zip);2.之后创建本地沙箱的文件对象fileTarget let pathDir: string context.filesDir; // /data/storage/el2/base/haps/entry/filesconsole.info(this.TAG, pathDir: pathDir);// 待拷贝文件沙箱路径let filePath: string pathDir /test.zip;console.info(this.TAG, filePath: filePath);// 若文件不存在则创建文件。let fileTarget fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);3.将val目标文件内容写入文件对象即可 let writeLen fs.writeSync(fileTarget.fd, val.buffer as ArrayBuffer);最后记得关闭fs fs.closeSync(fileTarget);完整源码 import { common } from kit.AbilityKit; import { BusinessError } from kit.BasicServicesKit; import { fileIo as fs } from kit.CoreFileKit;Entry Component struct SandboxPage {private TAG: string SandboxPage;onCopyRawFileToLocal (){let context getContext(this) as common.UIAbilityContext; // 获取设备A的UIAbilityContext信息try {let val: Uint8Array context.resourceManager.getRawFileContentSync(test.zip);console.info(this.TAG, getRawFileContentSync done);let pathDir: string context.filesDir; // /data/storage/el2/base/haps/entry/filesconsole.info(this.TAG, pathDir: pathDir);// 待拷贝文件沙箱路径let filePath: string pathDir /test.zip;console.info(this.TAG, filePath: filePath);// 若文件不存在则创建文件。let file fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);console.info(this.TAG, file done);let writeLen fs.writeSync(file.fd, val.buffer as ArrayBuffer);console.info(this.TAG, write data to file succeed and size is: writeLen);fs.closeSync(file);} catch (error) {let code (error as BusinessError).code;let message (error as BusinessError).message;console.error(this.TAG,getRawFileContentSync failed, error code: ${code}, message: ${message}.);}}build() {RelativeContainer() {Text(点击拷贝zip到本地沙箱下).id(SandboxPageHelloWorld).fontSize(50).fontWeight(FontWeight.Bold).alignRules({center: { anchor: __container__, align: VerticalAlign.Center },middle: { anchor: __container__, align: HorizontalAlign.Center }}).onClick(this.onCopyRawFileToLocal)}.height(100%).width(100%)} }验证zip拷贝成功 1. IDE右下角找到 Device File Browser 2.根据你的app包名找到zip的位置
http://www.w-s-a.com/news/33228/

相关文章:

  • 做网站的去哪找客户正规制作网站公司
  • 网站代理访问是什么意思外国优秀设计网站
  • 合肥个人建站模板网络技术服务有限公司
  • 做网站什么公司好dw企业网站开发教程
  • 怎么做自己的个人网站宝安网站设计哪家最好
  • 浩博建设集团网站站长网站统计
  • 电商网站开发视频seo排名优化方式方法
  • 宿迁市住房城乡建设局网站wordpress纯图片主题
  • 广州建设网站 公司湖北省建设信息网官网
  • 网站建立时间查询做百度移动网站优化排
  • 网站建设和运行费用qq恢复官方网站
  • 可以免费建立网站吗免费的网络营销方式
  • 天津企业设计网站建设wordpress标题字体大小
  • 上高县城乡规划建设局网站创业项目
  • 钓鱼网站在线下载广州网站设计哪里好
  • 做阿里国际网站会有成效吗wordpress微博同步
  • 西安网站建设云速网络网站运营情况怎么写
  • 免费建网站的网站微信商城分销系统方案
  • 烟台网站seo服务友情链接有哪些展现形式
  • 什么是移动网站开发免费网站开发框架
  • 做网站 创业wordpress子菜单
  • 门户网站类型有哪些权重7以上的网站
  • 政务网站建设论文android app开发教程
  • 网站开发实训h5总结个人网站注册平台要多少钱
  • 空白网站建设wordpress高亮代码过长
  • 盐城 网站开发什么叫做门户网站
  • 广东快速做网站公司哪家好本地建wordpress
  • dedecms如何做网站贵阳seo计费管理
  • 企业网站设计一般多少钱呼和浩特最好的互联网公司
  • 黄浦专业做网站海南网站策划