- 博客(26)
- 收藏
- 关注
原创 【Harmonyos】项目开发总结--摇杆拖动侧重实现(适用游戏摇杆)
本文仅呈现的部分代码已经可以达到百分之八十的复现。依据边界限制算法大家可以尝试一下补全渐变渲染的代码~大家有问题可以和我在评论区多多交流~在开发过程中我选择了RelativeContainer相对布局容器,在实现布局上相对简单方便。在项目开发中,我们需要做出一个跟随用户手指拖动的摇杆,并且有侧重渲染颜色的实现。我们做图所示的摇杆,中间图式用canvas实现.其他部分用组件实现。在这次开发中,我们会用到Canvas组件用于自定义绘制图形。理解上面的代码,请看这里的解释。
2025-04-01 17:56:56
730
原创 [Harmonyos]相机功能开发基础知识篇(持续更新)
开发相机前我们先学习了解一些摄影有关的基础知识,本篇文章记录了曝光(摄影)三要素等(持续完善中…)我们人眼能看见物体是因为物体会反射光线,当光源(太阳、灯光等)照射到物体上,物体通过反射光线将光线照射进我们的眼睛,所以我们才能看见物体。因为不同的物体对光线的反射强度是不一样的,有的物体对光线反射强,所以看起来很亮,有的物体对光线反射弱,所以看起来暗。我们人眼有视觉神经系统,能判断出来物体反射光线的强弱,从而分辨出画面是亮还是暗。但是相机不行,相机没有视觉神经。
2025-02-06 14:23:08
1744
1
原创 【HarmonyOS】纯血鸿蒙真实项目开发---经验总结贴
将已有的Web网页接入到原生App。涉及到一些、webviewController执行时机报错、位置能力使用等。
2025-01-08 18:07:17
1550
原创 【鸿蒙开发】状态管理基本概念
我们构建的页面多为静态界面。如果希望构建一个动态的、有交互的界面,就需要引入“状态”的概念。用户与应用程序的交互触发了文本状态变更,状态变更引起了UI渲染。当参数改变时,UI作为返回结果,也将进行对应的改变。这些运行时的状态变化所带来的UI的重新渲染,在ArkUI中统称为状态管理机制。提示:以下是本篇文章正文内容,下面案例可供参考@Watch:用于监听状态变量的变化。$$运算符:给内置组件提供TS变量的引用,使得TS变量和内置组件的内部状态保持同步。
2024-12-13 09:30:00
1066
2
原创 【鸿蒙开发】关于性能优化的小tips
应用或元服务运行期间可能出现响应速度慢、动画播放不流畅、列表拖动卡顿、应用崩溃或耗电量过高、发烫、交互延迟等现象,这些现象表明应用或元服务可能存在性能问题。造成性能问题的原因可能是业务逻辑、应用代码对系统API的误用、对ArkTS对象的不合理持有导致内存泄露等,引起对系统资源不合理使用,包括对CPU、内存、网络、文件、GPU、以及其他外设等器件的冗余占用,进而引发性能问题。以上就是今天要讲的内容,本文仅仅简单介绍了少部分的性能优化。
2024-12-12 18:38:39
2626
1
原创 【ArkTS】列表组件的“下拉刷新”和“上拉加载”
当我们需要渲染大量的数据时,全部加载不仅会降低我们的性能,还会占用大量内存,可能会造成应用使用的卡顿、闪退。页面的下拉刷新与上拉加载功能在移动应用中十分常见,例如,新闻页面的内容刷新和加载。这两种操作的原理都是通过响应用户的触摸事件,在顶部或者底部显示一个刷新或加载视图,完成后再将此视图隐藏。├──entry/src/main/ets // ArkTS代码区│ │ │ └──CommonConstant.ets // 公共常量类│ │ ├──HttpUtil.ets // 网络请求方法。
2024-12-07 21:02:58
1065
原创 【鸿蒙开发】ArkTS --“必备”面试题
联合类型表示一个值可以是多种类型中的一种,而交叉类型表示一个新类型,它包含了多个类型的特性。联合类型示例:// 合法// 合法交叉类型示例:// 表示同时具备 A 和 B 的特性类型断言允许程序员手动指定一个值的类型。这在需要明确告诉编译器某个值的类型时非常有用。
2024-12-02 21:46:57
794
原创 【ArkTS】技能提高--“用户授权”跳转设置页的两种方式详解
根据授权方式的不同,我们可以有多种引导用户授权的方式,可以根据开发场景选取合适的方案。提示:以下两种方式都是在用户首次申请权限拒绝后,再次申请使用功能,要拉起授权设置页。我们介绍了向用户申请权限的两种新方式,通过拉起应用详情设置页引导用户授权。
2024-11-29 19:43:33
787
原创 【鸿蒙开发】ArkTS --“必备”面试题
any类型的作用是允许我们在编写代码时不指定具体的类型,从而可以接受任何类型的值。使用any类型相当于放弃了对该值的静态类型检查,使得代码在编译阶段不会对这些值进行类型检查。尽管any类型提供了灵活性,但由于它会放弃TypeScript的静态类型检查,因此滥用any类型可能会降低代码的健壮性和可维护性。可以通过合适的类型声明、接口定义和联合类型等方式,提高代码的健壮性和可维护性。当函数的参数可能是不存在的,只需要在参数后面加上?降低了代码的可维护性和可读性,因为难以理解某些变量或参数的具体类型。
2024-11-28 20:18:13
1470
原创 【鸿蒙开发】新学一招 -典型的存储数据形态 “用户首选项”
应用数据持久化,是指应用将内存中的数据通过文件或数据库的形式保存到设备上。内存中的数据形态通常是任意的数据结构或数据对象,存储介质上的数据形态可能是文本、数据库、二进制文件等。HarmonyOS标准系统支持典型的存储数据形态,包括用户首选项键值型数据库关系型数据库。以上就是今天要讲的内容,本文仅仅简单介绍了用户首选项的使用。
2024-11-27 11:31:48
2163
原创 【ArkTS】 一篇带你掌握“语音转文字技术” --内附详细代码
在一些场景中,为了方便用户。我们会提供语音转文字的服务。比如说在搜索页中,常规的交互是用户在输入框中输入内容之后,点击搜索按钮进行搜索业务,为了提高用户体验,用户可以通过【语音】的方式输入想要搜索的关键词,省去打字的麻烦以上就是我们实现语音转文字这一技术的全面讲解,希望大家能有收获噢~
2024-11-24 10:30:00
2854
3
原创 【鸿蒙开发】超全面解读 带你充分掌握---“向用户申请授权”
应用在访问数据或者执行操作时,需要评估该行为是否需要应用具备相关的权限。如果确认需要目标权限,则需要在应用安装包中申请目标权限。提示:我们先了解一下授权方式根据授权方式的不同,权限类型可分为system_grant(系统授权)和user_grant(用户授权)。system_grant指的是系统授权类型,在该类型的权限许可下,应用被允许访问的数据不会涉及到用户或设备的敏感信息。如果在应用中申请了system_grant权限,那么系统会在用户安装应用时,自动把相应权限授予给应用。
2024-11-23 17:48:53
1047
原创 【鸿蒙开发】超全面解读 带你充分掌握---“应用沉浸式效果开发”
开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感,从而使用户获得最佳的UI体验。以上就是今天要讲的内容,本文仅仅简单介绍了应用沉浸式效果开发的使用.
2024-11-22 11:42:34
968
原创 【鸿蒙开发】基础干货篇--7 “一篇带你掌握三种页面跳转方式” (内含router和navigation组件详解)
在业务体系庞大或复杂的情况下,通常会将业务拆分成多个子业务模块,单个子业务模块为一个har/hsp。在该场景下,通常存在从主业务入口跳转到不同子页面模块,或从一个子业务模块A页面跳转到另一个子业务模块B页面的需求。如,从应用首页跳转到登录子业务模块页面。针对不同场景,有三种解决方案,我们在下面为大家分别详细讲解。第二种方法各个模块间将存在非常复杂的依赖关系,当模块间跳转需求增多时,甚至会导致多个har/hsp间循环依赖。为了解决模块间的强耦合关系,并且提升页面加载性能,推荐使用自定义路由框架。
2024-11-19 19:56:56
1552
原创 【鸿蒙开发】基础干货篇--6 “超简单持久化存储PersistentStorage”
前一篇介绍的LocalStorage和AppStorage都是运行时的内存,但是在应用退出再次启动后,依然能保存选定的结果,是应用开发中十分常见的现象,这就需要用到PersistentStorage。以上就是今天要讲的内容,本文仅仅简单介绍了PersistentStorage的使用。大家努力学习努力工作的同时也要好好吃饭喔
2024-11-19 11:41:42
1133
2
原创 【鸿蒙开发】基础干货篇--5 “一篇带你掌握应用状态”
开发者要实现应用级的,或者多个页面的状态数据共享,就需要用到应用级别的状态管理的概念。ArkTS根据不同特性,提供了不同的应用状态管理的能力。
2024-11-18 14:58:08
887
原创 【鸿蒙开发】基础干货篇--4 小白入门手册(内含Stage模型工程目录结构和UIAbility 组件详解)
我们先来学习一下Stage模型工程目录结构AppScope >app.json5应用的全局配置信息。entry:HarmonyOS工程模块,编译构建生成一个HAP包。:用于存放ArkTS源码。:应用/服务的入口。:应用/服务包含的页面。:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件,详见资源分类与访问。:模块配置文件。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。具体的配置文件说明,详见。
2024-11-16 10:43:10
1281
原创 【鸿蒙开发】基础干货篇--3 小白入门手册 (内含模拟器保姆级安装使用教程)
DevEco Studio提供了模拟器(Emulator),为开发者提供了运行和调试HarmonyOS应用/服务的便捷途径。模拟器还原了真实设备的基本功能,如屏幕旋转、音量调节、模拟的硬件传感器和指定设备的位置等。这使得您无需拥有不同类型的物理设备,就可以在各种虚拟环境中轻松测试您的应用程序。在某些情况下,在模拟器上进行应用测试,相比于在实际物理设备上的测试,有着更快速、更高效的体验。
2024-11-15 15:01:20
633
原创 【ArkTS】“一篇带你掌握TaskPool与Worker两种多线程并发方案”
应用中的并发优化就是在响应用户操作期间,尽可能地让主线程只执行UI绘制相关的任务,而将非UI的耗时任务分配给其他线程或者延迟处理。这样借助多线程的异步技术,充分利用多核处理器的能力,提高应用程序的并发处理能力,减少用户等待时间,保证用户界面的响应流畅性。ArkTS为我们提供了TaskPool与Worker两种多线程并发方案。鸿蒙是多线程噢!!TaskPool与Worker是性能优化的两种方式,结合我们开发需求进行选择。
2024-11-15 09:44:47
1554
原创 【鸿蒙开发】基础干货篇--2 小白入门手册(内含Dev Eco安装教程和汉化插件安装)
有不少小伙伴说,想要学鸿蒙但是不知道怎么入门。或是已经入门的小伙伴想要掌握更多干货,可以看看我其他的文章。基础干货篇针对想要入门的小伙伴噢,可以追更一下这个系列。以上就是今天要讲的内容,本文仅仅简单介绍了软件安装。建议大家注册一个华为账号噢,因为模拟器会用到。华为账号注册链接。
2024-11-14 14:11:19
666
原创 【鸿蒙开发】“一篇带你掌握HAP、HAR、HSP”
HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包,其主要分为两种类型:entry和feature。编译态复用,不支持在配置文件中声明abilities、extensionAbilities组件,不支持在配置文件中声明pages页面,支持Navigation组件导航。运行时复用,不支持在配置文件中声明abilities、extensionAbilities组件,支持在配置文件中声明pages页面。● Entry:应用的主模块,用于实现应用的入口界面、入口图标、主特性功能等。,从而导致应用包膨大。
2024-11-14 10:18:06
1219
原创 【鸿蒙开发】鸿蒙开发基础干货篇--1
在开始之前,我们需要了解有关HarmonyOS应用的一些基本概念:UI框架的简单说明、应用模型的基本概念。这能有助于我们在后续开发中成长为一个高手。
2024-11-13 16:44:44
615
1
原创 ArkTS “一篇带你读懂ForEach和LazyForEach” 【小白拓展】
列表是应用开发中最常见的一类开发场景,它可以将杂乱的信息整理成有规律、易于理解和操作的形式,便于用户查找和获取所需要的信息。在现有的较成熟ArkTs组件中的,推荐大家使用的列表渲染接口是ForEach和LazyForEach。HarmonyOS应用框架为容器类组件的数据加载和渲染提供了2种方式。
2024-11-13 09:08:11
1371
1
原创 ArkTS关于ForEach的第三个参数键值
ForEach接口基于数组类型数据来进行循环渲染,需要与容器组件配合使用,且接口返回的组件应当是允许包含在ForEach父容器组件中的子组件。是鸿蒙开发中的常用接口。以上就是今天要讲的内容,本文仅仅简单介绍了foreach的第三个参数键值使用,下一次我们介绍一下foreach和lazyforeach的不同点以及适用场景。
2024-11-12 17:17:09
1034
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅