HarmonyOS原子化服務(wù)開發(fā)實(shí)戰(zhàn)-Js更新顯示本_第1頁
HarmonyOS原子化服務(wù)開發(fā)實(shí)戰(zhàn)-Js更新顯示本_第2頁
HarmonyOS原子化服務(wù)開發(fā)實(shí)戰(zhàn)-Js更新顯示本_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、蛟龍騰飛練習(xí)作品 HarmonyOS原子化服務(wù)開發(fā)實(shí)戰(zhàn)-Js更新顯示本地圖片使用js顯示本地卡片一般步驟:獲取本地圖片路徑/ 獲取相冊的圖片與視頻private void getImage() HiL(TAG,打開相冊); Intent intent = new Intent(); Operation opt=new Intent.OperationBuilder().withAction(ent.action.GET_CONTENT).build(); intent.setOperation(opt); intent.addFlags(Intent.FLA

2、G_NOT_OHOS_COMPONENT); intent.setType(image/*); intent.setBundle(com.huawei.photos); startAbilityForResult(intent, imgRequestCode);/ 圖片選取回調(diào)Overrideprotected void onAbilityResult(int requestCode, int resultCode, Intent resultData) if(requestCode=imgRequestCode) HiL(TAG, 選擇圖片getUriString: + res

3、ultData.getUriString(); /選擇的Img對應(yīng)的Uri String chooseImgUri = resultData.getUriString(); /獲取選擇的Img對應(yīng)的Id String chooseImgId=null; /如果是選擇文件則getUriString結(jié)果為content:/viders.media.documents/document/image%3A30,其中%3A是:的URL編碼結(jié)果,后面的數(shù)字就是image對應(yīng)的Id /如果選擇的是圖庫則getUriString結(jié)果為content:/media/external

4、/images/media/30,最后就是image對應(yīng)的Id /這里需要判斷是選擇了文件還是圖庫 if(chooseImgUri.lastIndexOf(%3A)!=-1) chooseImgId = chooseImgUri.substring(chooseImgUri.lastIndexOf(%3A)+3); else chooseImgId = chooseImgUri.substring(chooseImgUri.lastIndexOf(/)+1); /獲取圖片對應(yīng)的uri,由于獲取到的前綴是content,我們替換成對應(yīng)的dataability前綴 Uri uri=Uri.appe

5、ndEncodedPathToUri(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI,chooseImgId); HiL(TAG,圖片uri+uri); setImaData(uri,chooseImgId); 將本地圖片轉(zhuǎn)換成byte數(shù)據(jù)/定義數(shù)據(jù)能力幫助對象DataAbilityHelper helper = DataAbilityHelper.creator(getContext();FileInputStream inputStream = null;try inputStream = new FileInputStrea

6、m(helper.openFile(uri, r); catch (DataAbilityRemoteException|FileNotFoundException e) e.printStackTrace();/readInputStream將inputStream轉(zhuǎn)換成bytebyte bytes = readInputStream(inputStream); private byte readInputStream(InputStream inputStream) ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte

7、 buffer = new byte1024; int length = -1; try while (length = inputStream.read(buffer) != -1) baos.write(buffer, 0, length); baos.flush(); catch (IOException e) e.printStackTrace(); byte data = baos.toByteArray(); try inputStream.close(); baos.close(); catch (IOException e) e.printStackTrace(); retur

8、n data;卡片顯示圖片ZSONObject result = new ZSONObject();FormBindingData formBindingData = new FormBindingData(result);if (bytes != null & bytes.length != 0) String picName = new Date().getTime() + .png; String picPath = memory:/ + picName; result.put(avatarIma, picPath); formBindingData.addImageData(picName, bytes);try if (this instanceof Ability) for (CardDataTable formtable : ge

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論