目录:

1、开启明文传输

2、权限申请

3、引入http插件

4、案例展示

5、《鸿蒙OS前端开发入门指南》文章合集

开启明文传输 在config.json配置文件添加如下配置(如果不开启可以不配置)

"deviceConfig": {

"default": {

"network": {

"usesCleartext": true

}

}

},

权限申请 在配置文件module中添加如下

"reqPermissions": [{

"name":"ohos.permission.INTERNET"

}],

引入zzr老师写的鸿蒙http插件

 implementation 'com.zzrv5.zzrhttp:ZZRHttp:1.0.1'

案例1

使用方式,

new ImageNetWork(”当前的abilitySlice“,“创件的Image组建”,"图片地址").start();

网络图片类

package com.example.shangjinlieren.compontents;

import com.zzrv5.mylibrary.ZZRCallBack;

import com.zzrv5.mylibrary.ZZRHttp;

import com.zzrv5.mylibrary.ZZRResponse;

import ohos.aafwk.ability.AbilitySlice;

import ohos.agp.components.Image;

import ohos.hiviewdfx.HiLog;

import ohos.hiviewdfx.HiLogLabel;

import ohos.media.image.ImageSource;

import ohos.media.image.PixelMap;

public class ImageNetWork {

private final static HiLogLabel LABEL_LOG = new HiLogLabel(HiLog.LOG_APP, 0, "HmOSImageLoader");

private AbilitySlice abilitySlice;

private Image image;

private String url;

public ImageNetWork(AbilitySlice abilitySlice, Image image, String url) {
this.abilitySlice = abilitySlice;
this.image = image;
this.url = url;
} public void start() {
ZZRHttp.get(url, new ZZRCallBack.CallBackString() {
@Override
public void onFailure(int code, String errorMessage) {
//http访问出错了,此部分内容在主线程中工作;
//可以更新UI等操作,请不要执行阻塞操作。
System.out.println("errorMessage"+errorMessage);
}
@Override
public String onParseResponse(ZZRResponse response) {
//创建图片源
ImageSource imageSource = ImageSource.create(response.inputStream, null);
//根据图片源创建位图
PixelMap pixelMap = imageSource.createPixelmap(null);
//需要异步渲染UI
abilitySlice.getUITaskDispatcher().asyncDispatch(new Runnable() {
@Override
public void run() {
//展示到组件上
System.out.println("挂载了");
image.setPixelMap(pixelMap);
pixelMap.release(); }
});
return super.onParseResponse(response);
}
@Override
public void onResponse(String response) { }
});
}

}

作者:BLUESKYHOST

想了解更多内容,请访问51CTO和华为合作共建的鸿蒙社区:https://harmonyos.51cto.com/

鸿蒙OS前端开发入门指南:网络图片_Image渲染网络图片的更多相关文章

  1. DCloud-HTML5+:5+ App开发入门指南

    ylbtech-DCloud-HTML5+:5+ App开发入门指南 1.返回顶部 1. 5+ App开发入门指南 App App入门 HTML5 Plus应用概述 HTML5 Plus移动App,简 ...

  2. mxGraph进阶(一)mxGraph教程-开发入门指南

    mxGraph教程-开发入门指南 概述 mxGraph是一个JS绘图组件适用于需要在网页中设计/编辑Workflow/BPM流程图.图表.网络图和普通图形的Web应用程序.mxgraph下载包中包括用 ...

  3. 【转】mxGraph教程-开发入门指南

    原文:https://blog.csdn.net/sunhuaqiang1/article/details/51289580 mxGraph教程-开发入门指南 概述 mxGraph是一个JS绘图组件适 ...

  4. openresty 前端开发入门五之Mysql篇

    openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...

  5. Office 365 机器人(Bot)开发入门指南 (新篇)

    最近在整理书稿时,发现我在2017年7月份写的这篇 Office 365 机器人(Bot)开发入门 的内容,因为相关平台的升级,已经完全不能体现当前的开发过程,所以我再专门写一篇新的开发入门指南给有兴 ...

  6. 《Office 365开发入门指南教程》正式上线,限时优惠和邀请分享推广

    我很高兴地通知大家,<Office 365 开发入门指南教程>已经正式在网易云课堂上线,你可以通过直接访问  https://aka.ms/office365devlesson 这个短地址 ...

  7. 所有人都可以是开发人员——《Office 365开发入门指南》视频教程即将上市

      今天是春节假期的最后一天,在这里给全国的朋友们拜个晚年,祝大家身体健康,晚年幸福啊.这个春节大家过的怎么样啊,我自己是在老家过的年,家乡的年味还是比较浓的,也再次感谢朋友圈的大家给我看了各地的风光 ...

  8. 《Office 365开发入门指南》上市说明和读者服务

    写在最开始的话 拙作<Office 365开发入门指南>上周开始已经正式在各大书店.在线商城上市,欢迎对Office 365的开发.生态感兴趣的开发者.项目经理.产品经理参考本书,全面了解 ...

  9. 5+ App开发入门指南

    HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实 ...

随机推荐

  1. M1 MacBook安装Homebrew

    在装载M1芯片的MacBook产品上,默认是不带有homebrew这款包管理工具的,具体原因官方解释为适配问题,原有的homebrew无法与silicon Mac机型匹配.但是这并不意味着我们不可以在 ...

  2. HEXO版本控制与持续集成

    主要解决了hexo发布文章的繁琐,以及本地资源丢失,更换电脑等情况的出现. 采用AppVeyor实现. 转自 https://formulahendry.github.io/2016/12/04/he ...

  3. codeforces 3D (非原创)

    D. Least Cost Bracket Sequence time limit per test 1 second memory limit per test 64 megabytes input ...

  4. Leetcode(105)-从前序与中序遍历序列构造二叉树

    根据一棵树的前序遍历与中序遍历构造二叉树. 注意:你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15, ...

  5. JSON简单理解

    JSON 与 JS 对象的关系 很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚.其实,可以这么理解: JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息 ...

  6. Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分享 ...

  7. Keras 报错: Error when checking target: expected dense_4...

    笔者此处是一个回归任务, 最后一层是: ... pred = Dense(1)(x) 在最后一个Dense层前加上x = Flatten()(x)即可.

  8. chmod +x vs chmod 755

    chmod +x vs chmod 755 What is the difference between "chmod +x" and "chmod 755"? ...

  9. open an iOS simulator from the terminal

    open an iOS simulator from the terminal # simulator $ open -a Simulator flutter https://flutter.dev/ ...

  10. javascript disable scroll event

    javascript disable scroll event Document: scroll event https://developer.mozilla.org/en-US/docs/Web/ ...