自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 收藏
  • 关注

原创 HarmonyOS NEXT - Form Kit

ArkTS卡片开放了自定义绘制的能力,在卡片上可以通过Canvas组件创建一块画布,然后通过对象在画布上进行自定义图形的绘制,如下示例代码实现了在画布的中心绘制了一个笑脸。@Entry@Component// 初始化CanvasRenderingContext2D和RenderingContextSettingsbuild() {Column() {Row() {// 在onReady回调中获取画布的实际宽和高// 绘制画布的背景// 在画布的中心绘制一个圆。

2024-08-23 17:21:41 981

原创 HarmonyOS NEXT - 分布式文件系统

两台设备组网,用户可以利用一台设备上的编辑软件编辑另外一台设备上的文档。平板保存的音乐,车载系统直接可见并可播放。户外拍摄的照片,回家打开平板直接访问原设备拍摄的照片。hmdfs在分布式软总线动态组网的基础上,为网络上各个设备结点提供一个全局一致的访问视图,支持开发者通过基础文件系统接口进行读写访问,具有高性能、低延时等优点。

2024-08-23 16:36:31 1401

原创 HarmonyOS NEXT - 用户文件

用户文件:文件所有者为登录到该终端设备的用户,包括用户私有的图片、视频、音频、文档等。用户文件存放在用户目录下,归属于该设备上登录的用户。用户文件存储位置主要分为内置存储外置存储。应用对用户文件的创建、访问、删除等行为,需要提前获取用户授权,或由用户操作完成。用户文件uri是文件的唯一标识,在对用户文件进行访问与修改等操作时往往都会使用到uri,不建议开发者解析uri中的片段用于业务代码开发,不同类型的uri使用方式将在下文详细介绍。uri字段说明文件管理器的根目录。文件在根目录下的相对路径。

2024-08-23 16:29:10 1605

原创 HarmonyOS NEXT - 文件授权访问(ArkTS)

文件授权访问的场景仅支持部分设备。下面介绍几种常用操作示例。

2024-08-21 20:30:17 1933

原创 HarmonyOS NEXT - 验证应用数据迁移

在开发的过程中,当开发者完成所需后,可导入提前准备好的APK应用沙箱数据,自验证HarmonyOS应用数据迁移适配结果。在HarmonyOS应用适配完成并上架到华为应用市场之后,开发者仍需要将终端设备从HarmonyOS升级到HarmonyOS NEXT,应用数据迁移结果。自验证需要使用到APK应用沙箱数据。{APK包名}.zip目录/data/user_de/{userId}/{APK包名}/{APK包名}/de/data/user/{userId}/{APK包名}/{APK包名}/ce。

2024-08-21 20:27:12 1611

原创 HarmonyOS NEXT - 设备升级应用数据迁移适配指导

终端设备从HarmonyOS 3.1 Release API 9及之前版本(简称HarmonyOS)升级到HarmonyOS NEXT Developer Preview1及之后版本(简称HarmonyOS NEXT)时,原HarmonyOS中运行的APK应用,升级后需要切换为HarmonyOS NEXT中的HarmonyOS原生应用(简称HarmonyOS应用)。APK应用的部分数据需要转换并迁移到指定位置后,才能被HarmonyOS应用访问。

2024-08-21 20:23:10 3808

原创 HarmonyOS NEXT - 应用数据备份恢复

用户在使用应用的过程中,会产生对应的应用数据,如配置信息、业务数据等。为了保证用户数据不会因为应用升级、迁移等操作而丢失,应用需要接入数据备份恢复。在开发前,需要先了解ExtensionAbility组件,建议参考ExtensionAbility组件概述。BackupExtensionAbility是Stage模型中扩展组件ExtensionAbility的派生类,用于提供备份及恢复应用数据的能力。它是一种无界面的扩展组件,随着备份恢复任务的启动而运行,随着备份恢复任务的结束而退出。

2024-08-21 20:14:53 3652

原创 HarmonyOS NEXT - 应用文件分享

应用文件分享是应用之间通过分享URI(Uniform Resource Identifier)或文件描述符FD(File Descriptor)的方式,进行文件共享的过程。基于URI分享方式,应用可分享单个文件,通过的wantConstant.Flags接口以只读或读写权限授权给其他应用。应用可通过的open接口打开URI,并进行读写操作。当前仅支持临时授权,分享给其他应用的文件在被分享应用退出时权限被收回。

2024-08-21 20:08:44 1282

原创 HarmonyOS NEXT - 应用文件访问与管理

FileIO模块提供了文件基础操作能力。

2024-08-21 20:05:28 2987

原创 HarmonyOS NEXT - Core File Kit - 应用文件

应用文件:文件所有者为应用,包括应用安装文件、应用资源文件、应用缓存文件等。设备上应用所使用及存储的数据,以文件、键值对、数据库等形式保存在一个应用专属的目录内。该专属目录我们称为“应用文件目录”,该目录下所有数据以不同的文件格式存放,这些文件即应用文件。“应用文件目录”与一部分系统文件(应用运行必须使用的系统文件)所在的目录组成了一个集合,该集合称为“应用沙箱目录”,代表应用可见的所有目录范围。因此“应用文件目录”是在“应用沙箱目录”内的。系统文件及其目录对于应用是只读的;应用仅能保存文件到“

2024-08-21 19:57:11 950

原创 HarmonyOS NEXT - Core File Kit(文件基础服务)

Core File Kit(文件基础服务)为开发者提供一套访问和管理应用文件和用户文件的能力。帮助用户更高效地管理、查找和备份各类文件,使用户能够轻松应对各种文件管理的需求。应用文件:文件所有者为应用,包括应用安装文件、应用资源文件、应用缓存文件等。用户文件:文件所有者为登录到该终端设备的用户,包括用户私有的图片、视频、音频、文档等。系统文件:与应用和用户无关的其它文件,包括公共库、设备文件、系统资源文件等。这类文件不需要开发者进行文件管理,本文不展开介绍。

2024-08-21 19:53:18 1118

原创 HarmonyOS NEXT - 管理网页加载与浏览记录

如果要拦截自定义scheme的请求,需要提前将自定义scheme注册到Web内核。需要在Web组件初始化之前进行注册,Web组件初始化后再注册会失败。// 注册“custom“ scheme到Web组件,并指定该scheme需要遵循标准的scheme规则,允许该scheme发出跨域请求。// 注册“custom-local” scheme到Web组件,并指定该scheme需要遵循与“file” scheme一样的规则。

2024-08-21 19:49:13 1177

原创 HarmonyOS NEXT - Web调试维测

crashpad是chromium内核提供的进程崩溃信息处理工具,在应用使用Web组件导致的进程崩溃出现后(包括应用主进程与Web渲染进程),crashpad会在应用主进程沙箱目录写入minidump文件。该文件为二进制格式,后缀为dmp,其记录了进程崩溃的原因、线程信息、寄存器信息等,应用可以使用该文件分析Web组件相关进程崩溃问题。接口开启Web组件前端页面调试能力,利用DevTools工具可以在电脑上调试移动设备上的前端网页,设备需为4.1.0及以上版本。

2024-08-16 20:26:15 1157

原创 HarmonyOS NEXT - 处理网页内容

开发者也可通过指定tag标签和自定义类型。当前tag仅支持"embed"和"object",type类型则可任意指定,两个字符串参数均不区分大小写,ArkWeb内核侧将会统一转成小写,其中tag字串使用全字符串匹配,type使用字符串前缀匹配。

2024-08-16 20:20:18 1106

原创 HarmonyOS NEXT - 使用网页多媒体

Web组件可以通过W3C标准协议接口拉起摄像头和麦克风。开发者在使用该功能时,需配置"ohos.permission.CAMERA"、"ohos.permission.MICROPHONE"权限。通过在JavaScript中调用W3C标准协议接口navigator.mediaDevices.getUserMedia(),该接口用于拉起摄像头和麦克风。constraints参数是一个包含了video和audio两个成员的MediaStreamConstraints对象,用于说明请求的媒体类型。

2024-08-16 20:10:57 1056

原创 HarmonyOS NEXT - 管理网页文件上传与下载

Web组件支持前端页面选择文件上传功能,应用开发者可以使用接口来处理前端页面文件上传的请求,如果应用开发者不做任何处理,Web会提供默认行为来处理前端页面文件上传的请求。下面的示例中,当用户在前端页面点击文件上传按钮,应用侧在接口中收到文件上传请求,在此接口中开发者将上传的本地文件路径设置给前端页面。应用侧代码。local.html页面代码。

2024-08-16 19:59:41 1011

原创 HarmonyOS NEXT - ArkWeb管理网页加载与浏览记录

如果要拦截自定义scheme的请求,需要提前将自定义scheme注册到Web内核。需要在Web组件初始化之前进行注册,Web组件初始化后再注册会失败。// 注册“custom“ scheme到Web组件,并指定该scheme需要遵循标准的scheme规则,允许该scheme发出跨域请求。// 注册“custom-local” scheme到Web组件,并指定该scheme需要遵循与“file” scheme一样的规则。

2024-08-16 19:54:41 1262

原创 HarmonyOS NEXT - 管理Web组件的网络安全与隐私

例如,应用想要开启域名为'news.example.com'和'sport.example.com'的广告过滤,但需要关闭'example.com'的其他域名下网页的广告过滤,就可以先使用addAdsBlockDisallowedList()接口添加'example.com'域名到DisallowedList,再使用addAdsBlockAllowedList()接口添加'news.example.com'和'sport.example.com'域名。同时需要开发者使用Web组件的。

2024-08-16 19:27:46 1077

原创 HarmonyOS NEXT - Web组件嵌套滚动

当Web组件被多个可滚动容器组件嵌套时,未被Web组件消费的与父组件方向一致的偏移量、速度值将被传递给距Web组件最近且方向一致的父组件,使得父组件可以继续滚动。一次手势滑动只能沿X轴或Y轴一个方向嵌套滚动,当手势斜向滑动时,滚动方向为偏移量或速度在X轴、Y轴绝对值较大的方向;Web组件嵌套滚动的典型应用场景为,在一个页面中,有多个独立的区域需要进行滚动,当用户滚动Web区域内容时,可带动其他滚动区域进行滚动,以达到上下滑动页面的用户体验。开发者可以在Web组件创建时,使用。

2024-08-16 19:20:49 1123

原创 HarmonyOS NEXT - ArkWeb 在应用中使用前端页面JavaScript

开发者使用Web组件将应用侧代码注册到前端页面中,注册完成之后,前端页面中使用注册的对象名称就可以调用应用侧的函数,实现在前端页面中调用应用侧方法。在下面的示例中,点击应用侧的“runJavaScript”按钮时,来触发前端页面的htmlTest()方法。在下面的示例中,将test()方法注册在前端页面中, 该函数可以在前端页面触发运行。接口发送到前端页面,便可以在前端页面和应用侧之间互相发送消息。应用侧调用前端页面Object里的Function。前端页面调用应用侧Object里的Function。

2024-08-16 19:18:54 703

原创 HarmonyOS NEXT - ArkWeb设置基本属性和事件

字段含义备注deviceType设备类型通过系统参数const.product.devicetype映射得到。OSName发行版操作系统名称通过系统参数const.product.os.dist.name得到。OSVersion发行版操作系统版本通过系统参数const.ohos.fullname解析版本号得到。

2024-08-16 16:42:53 1357

原创 HarmonyOS NEXT - ArkWeb(方舟Web)

ArkWeb(方舟Web)提供了Web组件,用于在应用程序中显示Web页面内容,为开发者提供页面加载、页面交互、页面调试等能力。页面加载:Web组件提供基础的前端页面加载的能力,包括加载网络页面、本地页面、html格式文本数据。页面交互:Web组件提供丰富的页面交互的方式,包括:设置前端页面深色模式,新窗口中加载页面,位置权限管理,Cookie管理,应用侧使用前端页面JavaScript等能力。页面调试:Web组件支持使用调试前端页面。下面通过常见使用场景举例,来具体介绍Web组件功能特性。

2024-08-16 16:33:53 1134

原创 HarmonyOS NEXT - 相关术语

MSDP子系统提供分布式融合感知能力,借助HarmonyOS分布式能力,汇总融合来自多个设备的多种感知源,从而精确感知用户的空间状态、移动状态、手势、运动健康等多种状态,构建全场景泛在基础感知能力,支撑智慧生活新体验。方舟编译器,是华为自研的统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片平台的编译与运行,可支撑传统应用、元服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。面板中会展示出用户应用程序的信息及可流转的设备,引导用户进行后续的流转操作。

2024-08-14 09:09:05 1134

原创 HarmonyOS NEXT - ContentSlot:混合开发

用于渲染并管理Native层使用C-API创建的组件。支持混合模式开发,当容器是ArkTS组件,子组件在Native侧创建时,推荐使用ContentSlot占位组件。 ContentSlot(content: Content); // 当前开发者需要使用ArkUI提供的NodeContent作为管理器 参数名 类型 必填 参数描述 content Content 是 Content作为ContentSlot的管理器

2024-08-13 20:34:25 1039

原创 HarmonyOS NEXT - LazyForEach:数据懒加载

LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。

2024-08-13 20:30:12 1050

原创 HarmonyOS NEXT - ForEach:循环渲染

ForEach接口基于数组类型数据来进行循环渲染,需要与容器组件配合使用,且接口返回的组件应当是允许包含在ForEach父容器组件中的子组件。例如,ListItem组件要求ForEach的父容器组件必须为。说明从API version 9开始,该接口支持在ArkTS卡片中使用。

2024-08-13 20:03:53 1125

原创 HarmonyOS NEXT - if/else:条件渲染

自定义组件。

2024-08-13 19:54:41 687

原创 HarmonyOS NEXT - 状态管理合理使用开发指导

开发过程中经常会使用对象数组和ForEach结合起来使用,但是写法不当的话会出现UI不刷新的情况。i++)build() {Column() {i++) {})List() {})上述代码运行效果如下。

2024-08-13 19:49:53 864

原创 HarmonyOS NEXT - 状态管理优秀实践

为了帮助应用程序开发人员提高其应用程序质量,特别是在高效的状态管理方面。本章节面向开发者提供了多个在开发ArkUI应用中常见的低效开发的场景,并给出了对应的解决方案。此外,还提供了同一场景下,推荐用法和不推荐用法的对比和解释说明,更直观地展示两者区别,从而帮助开发者学习如何正确地在应用开发中使用状态变量,进行高性能开发。

2024-08-13 19:41:36 1292

原创 HarmonyOS NEXT - MVVM模式

应用通过状态去渲染更新UI是程序设计中相对复杂,但又十分重要的,往往决定了应用程序的性能。程序的状态数据通常包含了数组、对象,或者是嵌套对象组合而成。在这些情况下,ArkUI采取MVVM = Model + View + ViewModel模式,其中状态管理模块起到的就是ViewModel的作用,将数据与视图绑定在一起,更新数据的时候直接更新视图。Model层:存储数据和相关逻辑的模型。它表示组件或其他相关业务逻辑之间传输的数据。Model是对原始数据的进一步处理。

2024-07-30 17:42:46 947

原创 HarmonyOS NEXT - 自定义组件冻结功能

自定义组件处于非激活状态时,状态变量将不响应更新,即@Watch不会调用,状态变量关联的节点不会刷新。通过freezeWhenInactive属性来决定是否使用冻结功能,不传参数时默认不使用。支持的场景有:页面路由,TabContent,LazyForEach,Navigation。说明从API version 11开始,支持自定义组件冻结功能。

2024-07-30 17:22:43 417

原创 HarmonyOS NEXT - 其他状态管理概述 @Watch装饰器:状态变量更改通知

Watch用于监听状态变量的变化,当状态变量变化时,@Watch的回调方法将被调用。@Watch在ArkUI框架内部判断数值有无更新使用的是严格相等(===),遵循严格相等规范。当在严格相等为false的情况下,就会触发@Watch的回调。以下示例展示组件更新和@Watch的处理步骤。count在CountModifier中由@State装饰,在TotalView中由@Prop装饰。@Component// @Watch 回调build() {@Entry@Component。

2024-07-30 16:51:53 1170

原创 HarmonyOS NEXT - Environment:设备环境查询

开发者如果需要应用程序运行的设备的环境参数,以此来作出不同的场景判断,比如多语言,暗黑模式等,需要用到Environment设备环境查询。Environment是ArkUI框架在应用程序启动时创建的单例对象。它为AppStorage提供了一系列描述应用程序运行状态的属性。Environment的所有属性都是不可变的(即应用不可写入),所有的属性都是简单类型。

2024-07-30 16:39:43 410

原创 HarmonyOS NEXT - PersistentStorage:持久化存储UI状态

PersistentStorage将选定的AppStorage属性保留在设备磁盘上。应用程序通过API,以决定哪些AppStorage属性应借助PersistentStorage持久化。UI和业务逻辑不直接访问PersistentStorage中的属性,所有属性访问都是对AppStorage的访问,AppStorage中的更改会自动同步到PersistentStorage。PersistentStorage和AppStorage中的属性建立双向同步。

2024-07-30 16:35:49 1629

原创 HarmonyOS NEXT - AppStorage:应用全局的UI状态存储

AppStorage是在应用启动的时候会被创建的单例。它的目的是为了提供应用状态数据的中心存储,这些状态数据在应用级别都是可访问的。AppStorage将在应用运行过程保留其属性。属性通过唯一的键字符串值访问。AppStorage可以和UI组件同步,且可以在应用业务逻辑中被访问。AppStorage支持应用的主线程内多个UIAbility实例间的状态共享。AppStorage中的属性可以被双向同步,数据可以是存在于本地或远程设备上,并具有不同的功能,比如数据持久化(详见。

2024-07-30 16:29:40 979

原创 HarmonyOS NEXT - LocalStorage:页面级UI状态存储

LocalStorage是ArkTS为构建页面级别状态变量提供存储的内存内“数据库”。应用程序可以创建多个LocalStorage实例,LocalStorage实例可以在页面内共享,也可以通过GetShared接口,实现跨页面、UIAbility实例内共享。组件树的根节点,即被@Entry装饰的@Component,可以被分配一个LocalStorage实例,此组件的所有子组件实例将自动获得对该LocalStorage实例的访问权限。

2024-07-30 16:14:38 866

原创 HarmonyOS NEXT - @Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

ObjectLink和@Observed类装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步:被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被@Observed装饰的项,或者是class object中的属性,这个属性同样也需要被@Observed装饰。

2024-07-15 19:59:20 794

原创 HarmonyOS NEXT - @Provide装饰器和@Consume装饰器:与后代组件双向同步

Provide/@Consume装饰的状态变量有以下特性:@Provide装饰的状态变量自动对其所有后代组件可用,即该变量被“provide”给他的后代组件。由此可见,@Provide的方便之处在于,开发者不需要多次在组件之间传递变量。后代通过使用@Consume去获取@Provide提供的变量,建立在@Provide和@Consume之间的双向数据同步,与@State/@Link不同的是,前者可以在多层级的父子组件之间传递。

2024-07-15 19:42:43 1234

原创 HarmonyOS NEXT - @Link装饰器:父子双向同步

Link装饰的变量与其父组件中的数据源共享相同的值。

2024-07-15 19:35:17 1185

原创 HarmonyOS NEXT - @Prop装饰器:父子单向同步

Prop装饰的变量和父组件建立单向的同步关系:@Prop变量允许在本地修改,但修改后的变化不会同步回父组件。当数据源更改时,@Prop装饰的变量都会更新,并且会覆盖本地所有更改。因此,数值的同步是父组件到子组件(所属组件),子组件数值的变化不会同步到父组件。

2024-07-12 19:46:52 1102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除