HarmonyOS原子化服务开发实战-Js更新显示本_第1页
HarmonyOS原子化服务开发实战-Js更新显示本_第2页
HarmonyOS原子化服务开发实战-Js更新显示本_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、蛟龙腾飞练习作品 HarmonyOS原子化服务开发实战-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);/ 图片选取回调Overrideprotected void onAbilityResult(int requestCode, int resultCode, Intent resultData) if(requestCode=imgRequestCode) HiL(TAG, 选择图片getUriString: + res

3、ultData.getUriString(); /选择的Img对应的Uri String chooseImgUri = resultData.getUriString(); /获取选择的Img对应的Id String chooseImgId=null; /如果是选择文件则getUriString结果为content:/viders.media.documents/document/image%3A30,其中%3A是:的URL编码结果,后面的数字就是image对应的Id /如果选择的是图库则getUriString结果为content:/media/external

4、/images/media/30,最后就是image对应的Id /这里需要判断是选择了文件还是图库 if(chooseImgUri.lastIndexOf(%3A)!=-1) chooseImgId = chooseImgUri.substring(chooseImgUri.lastIndexOf(%3A)+3); else chooseImgId = chooseImgUri.substring(chooseImgUri.lastIndexOf(/)+1); /获取图片对应的uri,由于获取到的前缀是content,我们替换成对应的dataability前缀 Uri uri=Uri.appe

5、ndEncodedPathToUri(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI,chooseImgId); HiL(TAG,图片uri+uri); setImaData(uri,chooseImgId); 将本地图片转换成byte数据/定义数据能力帮助对象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转换成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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论