2024年鸿蒙最新HarmonyOS(鸿蒙)——全面入门(5),2024年最新flutter页面返回刷新

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

二、创建并运行项目

2.1 创建项目

2.2 开启远程模拟器

2.3 运行项目

三、Ability&页面的初步认识

3.1、简介

3.1.1 什么是页面

3.1.2 HarmonyOS(鸿蒙)中的页面

3.2、Ability

3.2.1 简介

3.2.2 Page Ability

3.2.3 Service Ability

3.2.4 Data Ability

3.3、HarmonyOS页面的设计

3.3.1 原子化服务与HAP简介

3.3.2 可分可合思想

3.3.3 HAP中的Ability

四、配置文件Config.json了解

4.1、简介

4.1.1 结构

4.1.2 编辑视图

4.2、配置文件详细介绍

4.2.1 app

4.2.2 deviceConfig

4.2.3 module

五、HarmonyOS应用程序的运行流程

5.1、准备

5.1.1 创建项目

5.1.2 运行项目

5.2、分析启动流程

5.2.1 启动流程图

5.2.2 解析config.json文件

5.2.3 初始化

5.2.4 获取入口Ability全类名

5.2.5 运行Ability

5.2.6 运行Ability的子界面

5.2.7 加载xml文件,展示内容

六、精选好文

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

s.youkuaiyun.com/topics/618636735)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

### HarmonyOS Flutter Module 开发与集成教程 #### 1. 环境准备 为了开发和集成 `flutter_module`,需要先准备好开发环境。以下是具体的步骤: - 安装并配置 **DevEco Studio** 工具[^4]。 - 下载并设置必要的依赖库,例如通过 Gitee 获取最新的 `flutter_flutter` 和 `flutter_engine` 库[^1]。 ```bash git clone https://gitee.com/openharmony-sig/flutter_flutter.git git clone https://gitee.com/openharmony-sig/flutter_engine.git ``` 确保正确配置相关环境变量以便后续编译能够顺利执行。 --- #### 2. 创建 Flutter 子模块工程 创建一个新的 Flutter 模块项目,并将其作为子模块嵌入到鸿蒙原生工程中。 ##### 步骤说明: - 使用命令行工具初始化一个名为 `my_flutter_module` 的新模块: ```bash flutter create -t module my_flutter_module ``` - 进入该目录并构建生成 `.har` 文件用于后续集成: ```bash cd my_flutter_module flutter build har --debug cd - ``` 此过程会生成所需的二进制资源文件供鸿蒙主工程项目调用[^1]。 --- #### 3. 将 Flutter 模块集成至 OHOS 原生工程 完成以上操作后,需进一步调整目标项目的结构以支持加载外部的 Flutter 组件。 ##### 主要改动点包括但不限于以下几个方面: - 把生成好的入口类以及页面定义拷贝过去替换默认实现逻辑;具体路径如下所示: ```bash cp my_flutter_module/.ohos/entry/src/main/ets/entryability/EntryAbility.ets \ MyApplication/entry/src/main/ets/entryability/EntryAbility.ets cp my_flutter_module/.ohos/entry/src/main/ets/pages/Index.ets \ MyApplication/entry/src/main/ets/pages/Index.ets ``` - 同步复制整个模块源码及其预编译产物至宿主机位置方便统一管理维护: ```bash cp -r my_flutter_module/.ohos/flutter_module MyApplication/ cp my_flutter_module/.ohos/har/flutter.har MyApplication/har/ ``` 最后修改对应的 JSON 构建描述文档来声明新增加的内容项[^2]: ```json5 // 在build-profile.json5中的modules部分增加以下条目 { "name": "flutter_module", "srcPath": "./flutter_module", "targets": [ { "name": "default", "applyToProducts": ["default"] } ] } ``` 同步更新包清单文件使其识别新的依赖关系: ```json5 "dependencies": { "@ohos/flutter_module": "./flutter_module", "@ohos/flutter_ohos": "file:./har/flutter.har" }, "overrides": { "@ohos/flutter_ohos": "./har/flutter.har" } ``` --- #### 4. 解决常见问题 当尝试访问设备物理特性数据时可能会遇到异常情况,比如无法读取屏幕尺寸信息等问题。针对此类现象可参照已知解决办法进行排查处理[^5]。 建议在生命周期方法内部延迟一段时间后再发起查询请求动作从而避开潜在冲突风险: ```dart @override void initState() { super.initState(); Future.delayed(Duration.zero, () { final mediaQuery = MediaQueryData.fromWindow(WidgetsBinding.instance.window); setState(() { screenWidth = mediaQuery.size.width; }); }); } ``` --- #### 5. 扩展功能——集成 WebView 支持 如果希望增强用户体验还可以考虑加入网页浏览能力,则推荐利用第三方组件如 `flutter_inappwebview` 实现跨平台一致表现效果[^3]。 首先编辑 `pubspec.yaml` 添加依赖声明: ```yaml dependencies: flutter_inappwebview: git: url: https://gitee.com/openharmony-sig/flutter_inappwebview.git path: "flutter_inappwebview" ``` 接着编写实际使用的 Dart 脚本片段展示基本交互方式: ```dart import 'package:flutter/material.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart'; class WebPage extends StatefulWidget { @override _WebPageState createState() => _WebPageState(); } class _WebPageState extends State<WebPage> { late InAppWebViewController webView; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('InAppWebView Example')), body: Container( child: InAppWebView( initialUrlRequest: URLRequest(url: Uri.parse("https://www.example.com")), onWebViewCreated: (controller) { webView = controller; })) ); } } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值