随笔分类 -  鸿蒙开发技术

5年JAVA,3年Android。转入鸿蒙开发行业。每日分享干货!
摘要:鸿蒙实战开发:【实现应用悬浮窗】如果你要做的是系统级别的悬浮窗,就需要判断是否具备悬浮窗权限。然而这又不是一个标准的动态权限,你需要兼容各种奇葩机型的悬浮窗权限判断。 fun checkPermission(context: Context): Boolean = if (Build.VERSION.SDK_INT < Build 阅读全文
posted @ 2024-06-14 20:04 烧脑猴 阅读(244) 评论(0) 推荐(0)
摘要:鸿蒙OS开发实例:【组件化模式】组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,针对Android端的组件化;与Android端的组件化相比,HarmonyOS的组件化可以说实现起来就颇费一番周折,因为HarmonyOS经过更新迭代之后,最新的开发方式已经和之前兼容AOSP阶段有着很大的区别 阅读全文
posted @ 2024-06-13 20:34 烧脑猴 阅读(238) 评论(0) 推荐(0)
摘要:鸿蒙NEXT南向开发案例:【智能台灯】样例简介 智能台灯设备不仅接收数字管家应用下发的指令来控制台灯的开关及亮度,而且还可以加入到数字管家的日程管理中。通过日程可以设定台灯开关的时间段,使其在特定的时间段内,台灯自动打开或者熄灭,并能自动调节相应时间段台灯的亮度;通过日程管家还可以实现台灯和其他的智能设备联动。 运行效果 当设备应用启动 阅读全文
posted @ 2024-06-13 14:58 烧脑猴 阅读(143) 评论(0) 推荐(0)
摘要:鸿蒙OS开发实例:【应用状态变量共享】平时在开发的过程中,我们会在应用中共享数据,在不同的页面间共享信息。虽然常用的共享信息,也可以通过不同页面中组件间信息共享的方式,但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景,ArkTS提供了以下几种应用状态管理的能力: LocalStorage:使用范围在同一页面,页面与 阅读全文
posted @ 2024-06-12 20:32 烧脑猴 阅读(187) 评论(0) 推荐(0)
摘要:鸿蒙嵌入式南向开发案例:【智能养花机】样例简介 智能养花机通过感知花卉、盆栽等植宠生长环境的温度、湿度信息,适时为它们补充水分。在连接网络后,配合数字管家应用,用户可远程进行浇水操作。用户还可在应用中设定日程,有计划的按日、按周进行浇水。在日程中用户可添加其它智能设备(例如:智能窗帘),一起呵护植宠的成长。 运行效果 当设备应用启动之后 阅读全文
posted @ 2024-06-12 15:01 烧脑猴 阅读(178) 评论(2) 推荐(0)
摘要:鸿蒙OS元服务开发:【(Stage模型)设置悬浮窗】一、设置悬浮窗说明 悬浮窗可以在已有的任务基础上,创建一个始终在前台显示的窗口。即使创建悬浮窗的任务退至后台,悬浮窗仍然可以在前台显示。通常悬浮窗位于所有应用窗口之上;开发者可以创建悬浮窗,并对悬浮窗进行属性设置等操作。 二、开发步骤 前提条件:创建WindowType.TYPE_FLOAT即悬浮窗 阅读全文
posted @ 2024-06-11 21:02 烧脑猴 阅读(120) 评论(0) 推荐(0)
摘要:鸿蒙OS元服务开发:【(Stage模型)设置应用主窗口】一、设置应用主窗口说明 在Stage模型下,应用主窗口由UIAbility创建并维护生命周期。在UIAbility的onWindowStageCreate回调中,通过WindowStage获取应用主窗口,即可对其进行属性设置等操作。还可以在应用配置文件中设置应用主窗口的属性,如最大窗口宽度maxWi 阅读全文
posted @ 2024-06-11 15:48 烧脑猴 阅读(62) 评论(0) 推荐(0)
摘要:鸿蒙OS元服务开发:【(Stage模型)学习窗口沉浸式能力】一、体验窗口沉浸式能力说明 在看视频、玩游戏等场景下,用户往往希望隐藏状态栏、导航栏等不必要的系统窗口,从而获得更佳的沉浸式体验。此时可以借助窗口沉浸式能力(窗口沉浸式能力都是针对应用主窗口而言的),达到预期效果。 二、开发步骤 1.获取应用主窗口。 通过getMainWindow接口获取应用主窗口 阅读全文
posted @ 2024-06-07 20:58 烧脑猴 阅读(49) 评论(0) 推荐(0)
摘要:鸿蒙原OS开发实例:【ArkTS类库单次I/O任务开发】Promise和async/await提供异步并发能力,适用于单次I/O任务的场景开发,本文以使用异步进行单次文件写入为例来提供指导。 实现单次I/O任务逻辑。 import fs from '@ohos.file.fs'; import common from '@ohos.app.ability 阅读全文
posted @ 2024-06-07 15:29 烧脑猴 阅读(37) 评论(0) 推荐(0)
摘要:鸿蒙OS开发实例:【ArkTS类库异步并发async/await】async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码变得更加简单和易读。通过使用async关键字声明一个函数为异步函数,并使用await关键字等待Promise的解析(完成或拒绝),以同步的方式编写异步操作的代码。 async函数是一个返回Promise对象的函数,用 阅读全文
posted @ 2024-06-06 21:54 烧脑猴 阅读(589) 评论(0) 推荐(0)
摘要:鸿蒙OS开发实例:【ArkTS类库异步并发简述Promise】Promise和async/await提供异步并发能力,是标准的JS异步语法。异步代码会被挂起并在之后继续执行,同一时间只有一段代码执行,适用于单次I/O任务的场景开发,例如一次网络请求、一次文件读写等操作。异步语法是一种编程语言的特性,允许程序在执行某些操作时不必等待其完成,而是可以继续执行其他操 阅读全文
posted @ 2024-06-06 14:40 烧脑猴 阅读(391) 评论(0) 推荐(0)
摘要:鸿蒙OS元服务开发说明:【WebGL网页图形库开发接口】一、场景介绍 WebGL主要帮助开发者在前端开发中完成图形图像的相关处理,比如绘制彩色图形等。目前该功能仅支持使用兼容JS的类Web开发范式开发。 二、接口说明 表1 WebGL主要接口列表 接口名 描述 canvas.getContext 获取canvas对象上下文。 webgl.createBu 阅读全文
posted @ 2024-06-05 14:29 烧脑猴 阅读(38) 评论(0) 推荐(0)
摘要:鸿蒙OS元服务开发案例:【WebGL网页图形库开发着色器绘制彩色三角形】着色器绘制彩色三角形 使用WebGL开发时,为保证界面图形显示效果,请使用真机运行。 此场景为使用WebGL绘制的彩色三角形图形(GPU绘制)。开发示例如下: 创建页面布局。index.hml示例如下: <div class="container"> <canvas ref="canvas1" st 阅读全文
posted @ 2024-06-04 22:07 烧脑猴 阅读(66) 评论(0) 推荐(0)
摘要:鸿蒙OS开发实例:【ArkTS类库多线程@Concurrent装饰器校验并发函数】在使用TaskPool时,执行的并发函数需要使用该装饰器修饰,否则无法通过相关校验。从API version 9开始,该装饰器支持在ArkTS卡片中使用。 装饰器说明 @Concurrent并发装饰器 说明 装饰器参数 无。 使用场景 仅支持在Stage模型的工程中使用。 装饰的函数类型 允许标注a 阅读全文
posted @ 2024-06-04 15:01 烧脑猴 阅读(86) 评论(0) 推荐(0)
摘要:鸿蒙OS开发实例:【ArkTS类库多线程CPU密集型任务TaskPool】CPU密集型任务是指需要占用系统资源处理大量计算能力的任务,需要长时间运行,这段时间会阻塞线程其它事件的处理,不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率,提升应用程序响应速度。 当进行一系列同步任务时,推荐使用Worker; 阅读全文
posted @ 2024-06-03 20:59 烧脑猴 阅读(258) 评论(0) 推荐(0)
摘要:鸿蒙OS开发案例:【ArkTS类库多线程CPU密集型任务Worker】使用Worker进行长时间数据分析 通过某地区提供的房价数据训练一个简易的房价预测模型,该模型支持通过输入房屋面积和房间数量去预测该区域的房价,模型需要长时间运行,房价预测需要使用前面的模型运行结果,因此需要使用Worker。 1.DevEco Studio提供了Worker创建的模板,新建一个Wo 阅读全文
posted @ 2024-06-03 14:24 烧脑猴 阅读(115) 评论(0) 推荐(0)
摘要:鸿蒙OS开发实例:【NAPI 进阶】本篇将会介绍另外两种集成方式: NAPI源码 + 动态库(即 .so) TS接口 + 动态库(即 .so) Native C++应用研发概况 Native C++应用场景,总结起来就如下 "部分源码+动态库": 国密算法SM4已经提前被编译成了so文件,这个时候我们只需在CMakeList.txt文 阅读全文
posted @ 2024-06-02 20:11 烧脑猴 阅读(584) 评论(0) 推荐(0)
摘要:鸿蒙OS开发实例:【NAPI入门】背景 公司内部已经有现成的MQTT动态库,想在HarmonyOS平台上共享使用。查找官方指导后,发现可以通过NAPI方式,将MQTT C++库导入进来,然后封装一层ArkTS接口就可直接使用。 本篇内容是在按照官方指导下,自己做的一些调研性质的实践。 阅读完成后 将学会如何在已有的HarmonyOS 阅读全文
posted @ 2024-05-31 21:02 烧脑猴 阅读(659) 评论(0) 推荐(0)
摘要:鸿蒙OS开发问题:【尺寸适配算法】背景 如何在HarmonyOS 系统上出设计稿? 问题1: 为什么要计算虚拟高度,即 virtualHeight static adaptDimension(value: number): number { let deviceDisplay: display.Display = GlobalCon 阅读全文
posted @ 2024-05-31 15:15 烧脑猴 阅读(155) 评论(0) 推荐(0)
摘要:鸿蒙OS开发实例:【埋点探究】背景 大多数软件产品上线前,都会采用有规则的日志来对软件进行相关数据的采集,这个过程称为:埋点,采集的数据主要用于产品分析。 埋点技术已在PC端, 移动端非常成熟,并且有大批量以此为生的公司。 本篇将探究一下HarmonyOS中的埋点,目标是统计用户浏览页面轨迹 准备 了解移动端的埋点技术方案 了解 阅读全文
posted @ 2024-05-30 20:48 烧脑猴 阅读(464) 评论(0) 推荐(0)

鸿蒙NEXT文档资料 mau123789是助理v直接可拿取