【鸿蒙学习】HarmonyOS应用开发者基础 - 构建更加丰富的页面(一)


学完时间:2024年8月14日

一、前言叨叨

学习HarmonyOS的第六课,人数又成功的降了500名左右,到了3575人了。

二、ArkWeb

1、概念介绍

ArkWeb是用于应用程序中显示Web页面内容的Web组件,为开发者提供页面加载、页面交互、页面调试等能力。可以实现移动端的混合式开发(Hybrid App)。

2、常见场景

页面加载是Web组件的基本功能。根据页面加载数据来源可以分为三种常用场景,包括加载网络页面、加载本地页面、加载HTML格式的富文本数据。

  • 加载网络页面
    开发者可以在Web组件创建时,指定默认加载的网络页面 。在默认页面加载完成后,如果开发者需要变更此Web组件显示的网络页面,可以通过调用loadUrl()接口加载指定的网页。Web组件的第一个参数变量src不能通过状态变量(例如:@State)动态更改地址,如需更改,请通过loadUrl()重新加载。
  • 加载本地页面
    将本地页面文件放在应用的rawfile目录下,开发者可以在Web组件创建的时候指定默认加载的本地页面 ,并且加载完成后可通过调用loadUrl()接口变更当前Web组件的页面。
  • 加载HTML格式的文本数据
    Web组件可以通过loadData()接口实现加载HTML格式的文本数据。当开发者不需要加载整个页面,只需要显示一些页面片段时,可通过此功能来快速加载页面。
  • 动态创建Web组件
    支持命令式创建Web组件,这种方式创建的组件不会立即挂载到组件树,即不会对用户呈现(组件状态为Hidden和InActive),开发者可以在后续使用中按需动态挂载。后台启动的Web实例不建议超过200个。

三、配置网络权限

页面加载过程中,若涉及网络资源获取,需要配置ohos.permission.INTERNET网络访问权限。

1、首先需要在products/default/src/main/module.json5文件中先配置好允许程序打开网络套接字,即申请权限ohos.permission.INTERNET。

dart 复制代码
// products/default/src/main/module.json5
{
  "module": {
    ...
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET",
        "reason": "$string:apply_for_network"
      }
    ]
  }
}

2、在products/default/src/main/resources/base/element/string.json和products/default/src/main/resources/en_US/element/string.json中添加配置。

dart 复制代码
{
  "string": [
    {
      "name": "module_desc",
      "value": "module description"
    },
    {
      "name": "EntryAbility_desc",
      "value": "description"
    },
    {
      "name": "EntryAbility_label",
     "value": "HMOS Basic"
    },
    {
      "name": "apply_for_network",
      "value": "Allow the app to access the network"
    }
  ]
}

3、在products/default/src/main/resources/zh_CN/element/string.json中添加配置。

dart 复制代码
{
  "string": [
    {
      "name": "module_desc",
      "value": "模块描述"
    },
    {
      "name": "EntryAbility_desc",
      "value": "description"
    },
    {
      "name": "EntryAbility_label",
      "value": "HMOS世界入门版"
    },
    {
      "name": "apply_for_network",
      "value": "允许应用使用网络"
    }
  ]
}

四、总结

由于本篇幅内容较多,将分为两部分,第一部分记录Navigation组件、Tabs组件的使用,有兴趣的小伙伴可以直接点击下一篇内容 【鸿蒙学习】HarmonyOS应用开发者基础 - 构建更加丰富的页面之Navigation(二)
希望大家多多关注+点赞+收藏 🙏🙏,你们的鼓励是我不断前进的动力💪💪!!!

相关推荐
潮汐退涨月冷风霜1 小时前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper1 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~1 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Charles Ray2 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
我要吐泡泡了哦3 小时前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫1233 小时前
【tomcat】tomcat学习笔记
笔记·学习·tomcat
贾saisai5 小时前
Xilinx系FPGA学习笔记(九)DDR3学习
笔记·学习·fpga开发
北岛寒沫5 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
铁匠匠匠7 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
架构文摘JGWZ8 小时前
Java 23 的12 个新特性!!
java·开发语言·学习