国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

石家莊個(gè)人誰(shuí)做網(wǎng)站廈門(mén)百度關(guān)鍵詞推廣

石家莊個(gè)人誰(shuí)做網(wǎng)站,廈門(mén)百度關(guān)鍵詞推廣,臨平房產(chǎn)做網(wǎng)站的公司,做網(wǎng)站哪些公司好【HarmonyOS】鴻蒙將資源文件夾Resource-RawFile下的文件存放到沙箱目錄下 一、問(wèn)題背景 應(yīng)用開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到一些文件原先是放在資源文件夾 rawfile下,但是邏輯處理時(shí),需要轉(zhuǎn)移到本地沙箱才能操作。這種情況下,就需要將將…

【HarmonyOS】鴻蒙將資源文件夾Resource-RawFile下的文件存放到沙箱目錄下

一、問(wèn)題背景

應(yīng)用開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到一些文件原先是放在資源文件夾 rawfile下,但是邏輯處理時(shí),需要轉(zhuǎn)移到本地沙箱才能操作。這種情況下,就需要將將資源文件夾Resource-RawFile下的文件存放到沙箱目錄下。

二、鴻蒙資源文件和沙箱的概念

在鴻蒙中,應(yīng)用僅能保存文件到“應(yīng)用文件目錄”下,根據(jù)目錄的使用規(guī)范和注意事項(xiàng)來(lái)選擇將數(shù)據(jù)保存到不同的子目錄中。

這樣的設(shè)定與安卓和蘋(píng)果目前一致。應(yīng)用沙箱的概念,可以保證數(shù)據(jù)訪問(wèn)的安全性。

在鴻蒙系統(tǒng)中,文件存儲(chǔ)分為不同的域,如應(yīng)用內(nèi)部存儲(chǔ)(應(yīng)用私有目錄)和外部存儲(chǔ)(公共目錄等)。應(yīng)用內(nèi)部存儲(chǔ)是應(yīng)用私有的,其他應(yīng)用通常無(wú)法訪問(wèn)。外部存儲(chǔ)可以在用戶(hù)授權(quán)的情況下被多個(gè)應(yīng)用訪問(wèn)。
在這里插入圖片描述
注意:

不要使用絕對(duì)路徑拼接系統(tǒng)文件路徑,否則可能導(dǎo)致后續(xù)應(yīng)用版本因應(yīng)用文件路徑變化導(dǎo)致不兼容問(wèn)題。應(yīng)該是用context去動(dòng)態(tài)獲取。

而rawfile是一種資源文件類(lèi)型,通常在應(yīng)用開(kāi)發(fā)過(guò)程中作為原始文件被打包進(jìn)應(yīng)用的資源目錄。它在 APK(安卓應(yīng)用安裝包)或者鴻蒙應(yīng)用安裝包(HAP)中是只讀的。

三、解決方案思路

在這里插入圖片描述

1.首先我們需要通過(guò)getRawFileContentSync讀取rawfile下目標(biāo)文件的內(nèi)容val

      let val: Uint8Array = context.resourceManager.getRawFileContentSync("test.zip");

2.之后創(chuàng)建本地沙箱的文件對(duì)象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);// 若文件不存在,則創(chuàng)建文件。let fileTarget = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);

3.將val目標(biāo)文件內(nèi)容寫(xiě)入文件對(duì)象即可

      let writeLen = fs.writeSync(fileTarget.fd, val.buffer as ArrayBuffer);

最后記得關(guān)閉fs

 fs.closeSync(fileTarget);

完整源碼

import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { fileIo as fs } from '@kit.CoreFileKit';

struct SandboxPage {private TAG: string = "SandboxPage";onCopyRawFileToLocal = ()=>{let context = getContext(this) as common.UIAbilityContext; // 獲取設(shè)備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);// 若文件不存在,則創(chuàng)建文件。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("點(diǎn)擊拷貝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%')}
}

驗(yàn)證zip拷貝成功:
1. IDE右下角找到 Device File Browser
在這里插入圖片描述
2.根據(jù)你的app包名,找到zip的位置
在這里插入圖片描述

http://m.aloenet.com.cn/news/43841.html

相關(guān)文章:

  • 網(wǎng)站優(yōu)化怎樣做網(wǎng)絡(luò)營(yíng)銷(xiāo)整合推廣
  • 個(gè)人工作室可以做哪些項(xiàng)目win優(yōu)化大師怎么樣
  • 北京網(wǎng)站建設(shè)招聘網(wǎng)站域名查詢(xún)系統(tǒng)
  • wordpress 刪除略縮圖關(guān)鍵詞seo優(yōu)化公司
  • 做旅游銷(xiāo)售網(wǎng)站平臺(tái)ppt模板網(wǎng)頁(yè)設(shè)計(jì)的流程
  • 網(wǎng)站頁(yè)面小圖標(biāo)怎么做深圳優(yōu)化公司排名
  • 晾衣架 東莞網(wǎng)站建設(shè)百度一下點(diǎn)擊搜索
  • 關(guān)于優(yōu)化網(wǎng)站建設(shè)的方案怎么可以在百度發(fā)布信息
  • 泰州網(wǎng)站制作案例上海專(zhuān)業(yè)做網(wǎng)站
  • 有必要自建網(wǎng)站做導(dǎo)購(gòu)嗎怎么給自己的網(wǎng)站設(shè)置關(guān)鍵詞
  • 陶瓷網(wǎng)站模板下載新浪體育最新消息
  • 怎樣推廣網(wǎng)站網(wǎng)絡(luò)廣告營(yíng)銷(xiāo)
  • 動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)教程seo怎么刷排名
  • 網(wǎng)站用wordpress還是wp網(wǎng)址大全瀏覽器
  • 中國(guó)建設(shè)銀行網(wǎng)站濟(jì)南網(wǎng)點(diǎn)品牌軟文
  • 怎么在電腦上自己做網(wǎng)站如何做網(wǎng)站推廣的策略
  • 美發(fā)網(wǎng)站怎么做商品關(guān)鍵詞舉例
  • 企業(yè)建設(shè)網(wǎng)站應(yīng)該一般多少錢(qián)谷歌搜索優(yōu)化seo
  • 好的網(wǎng)站模板快速建網(wǎng)站
  • 網(wǎng)站建設(shè)風(fēng)格要求巨量引擎app
  • 聊城網(wǎng)站建設(shè)基本流程java培訓(xùn)學(xué)費(fèi)多少錢(qián)
  • 長(zhǎng)沙建設(shè)網(wǎng)站企業(yè)蘋(píng)果自研搜索引擎或?yàn)樘娲雀?/a>
  • 優(yōu)質(zhì)的網(wǎng)站制作如何免費(fèi)引流推廣
  • 濟(jì)南網(wǎng)站怎么做seo中南建設(shè)集團(tuán)有限公司
  • 南寧模板做網(wǎng)站搜索引擎優(yōu)化seo專(zhuān)員招聘
  • 網(wǎng)站項(xiàng)目運(yùn)營(yíng)怎樣免費(fèi)制作網(wǎng)頁(yè)
  • 建設(shè)銀行網(wǎng)站安全性分析什么是seo搜索優(yōu)化
  • 河北建設(shè)工程招標(biāo)信息網(wǎng)官網(wǎng)企業(yè)網(wǎng)站設(shè)計(jì)優(yōu)化公司
  • 西寧的網(wǎng)站建設(shè)公司凡科建站怎么建網(wǎng)站
  • 上海網(wǎng)站制作網(wǎng)絡(luò)策劃與營(yíng)銷(xiāo)