StageApplication初始化支持以下三种方式1.通过继承StageApplication的方式进行初始化importohos.stage.ability.adapter.StageApplication;publicclassHiStageApplicationextendsStageApplication{OverridepublicvoidonCreate(){super.onCreate();}}2.继承Android原生Application方式,在onCreate方法中创建StageApplicationDelegate实例进行初始化importandroid.app.Application;importohos.stage.ability.adapter.StageApplic...
2025-06-24 21:42:56 3173浏览 0点赞 0回复 0收藏
简介本文介绍将ArkUI框架扩展到Android平台所需要的必要的类及其使用说明,开发者基于OpenHarmony,可复用大部分的应用代码(生命周期等)并可以部署到Android平台,降低跨平台应用开发成本。AndroidStudio配置使用AndroidStudio所创建Android工程的PackageName需要与OpenHarmony工程的BundleName一致。注:AndroidStudio:Android应用的开发工具。ArkUIX和Android平台集成所用关键类应用工程Android逻辑部分的StageApplication应...
2025-06-24 21:42:19 3302浏览 0点赞 0回复 0收藏
目前,已经有按照方案完成整体改造的4个Sample作为完整案例。应用描述链接::鸿蒙世界HMOSWorld溪村小镇OxHornCampus音乐专辑MusicHome购物应用MultiShopping下面以实际改造过程中遇到的经典问题进行案例详解。Products共性拆分Products共性拆分在拆分原工程products模块为两个hap时,将可以复用的代码进行抽象,存于features层main,被hap依赖使用。首先识别可以复用的代码逻辑部分,以溪村小镇为例,应用启动页会轮播三张图片...
2025-06-23 21:35:35 3812浏览 0点赞 0回复 0收藏
应用开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。应用资源:借助资源文件能力,开发者在应用中自定义资源,自行管理这些资源在不同的设备或配置中的表现。系统资源:开发者直接使用系统预置的资源定义(即[分层参数](https:gitcode.comopenharmonydocsblobmasterendesignuxdesignvisualbasis.md),同一资源ID在设备横竖屏、颜色模式等不同配置下有不同的取值)。资源...
2025-06-23 21:35:06 3940浏览 0点赞 0回复 0收藏
简介平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。以Android平台为例,ArkTS和Java没有相互调用的能力,为了实现ArkTS和Java交互,需要ArkTS与C++交互,C++再与Java交互,反之亦然。但是对于开发者,就像是ArkTS和Java直接交互。本文介绍如何通过平台桥接编写自定义的Android、iOS平台代码。ArkUI侧具体用法请参考[BridgeAP...
2025-06-19 22:30:05 1773浏览 0点赞 0回复 0收藏
简介本文档配套ArkUIX,将OpenHarmonyArkUI开发框架扩展到不同的OS平台,比如Android和iOS平台,让开发者基于ArkUI,可复用大部分的应用代码(UI以及主要应用逻辑)并可以部署到相应的OS平台,降低跨平台应用开发成本。应用工程目录结构介绍跨平台应用工程目录结构说明以IDE创建的模板工程【ArkUIX】EmptyAbility举例,包含一套为ArkUI开发者提供的应用工程模板,提供构建OpenHarmony应用,HarmonyOS应用,Android应用,iOS应用...
2025-06-19 22:29:18 3042浏览 0点赞 0回复 0收藏
原生和ArkUI界面参数传递在原生页面拉起对应的跨平台的页面时,会将代表拉起哪个页面的参数通过intent的形式传递给跨平台的Entry模块,这里主要用到的是intent的putExtra()方法进行设置,Entry模块收到该参数之后,解析参数从而决定拉起的页面,一个简单的示意图如下所示:ArkUIX与原生之间的bridge桥接通信ArkUIXSDK提供了一种bridge通信方案,用于跨平台层和宿主Native之间进行相互通信,使得跨平台层可以调用原生的能力。运...
2025-06-18 22:14:14 1042浏览 0点赞 0回复 0收藏
现状与诉求目前,华为运动健康App在Android和iOS均有独立的客户端工程,在原生页面部分,两个客户端独立开发,代码各自维护和演进,会带来各自独立的开发工作量,并且两个端之间的交互体验也无法做到一致。 为了解决开发工作量翻倍和交互体验不一致的问题,华为运动健康利用H5技术来进行跨平台,就是业界常说的hybridapp,但是H5技术天生就有性能缺陷,无法带来极致流畅的用户体验和“秒开”的加载速度,所以目前H5跨平台技...
2025-06-18 22:13:35 1383浏览 0点赞 0回复 0收藏
现状与诉求随着HarmonyOSNext5.0版本正式发布,众多开发者基于ArkTS语言为HarmonyOSNext系统开发了大量应用,这极大地丰富了HarmonyOS的生态。越来越多的应用上线,也给开发者带来了挑战,开发者需要同时开发和维护适用于HarmonyOSNext、Android、iOS三个平台的应用程序。这不仅意味着开发工作量大幅增加,开发成本也随之上升,而且很难保持一致的交互体验。ArkUIX跨平台框架是基于HarmonyOS打造的跨端跨平台框架,能实现“一次...
2025-06-16 22:20:08 1338浏览 0点赞 0回复 0收藏
本文主要介绍通过CLI工具链执行acecreateproject命令创建工程,生成联动编译脚本。使用AndroidStudio编译Android应用时,可联动编译ArkTS源码,并自动拷贝ArkTS产物到Android工程中。其功能主要包括:1.手动配置编译ArkTS源码开关2.手动配置编译module3.手动配置文件输出路径编译配置说明配置编译ArkTS脚本开关在.arkuixandroidappbuild.gradle目录下设置configBuildFlag开关,可触发联动ArkTS源码编译脚本,默认为false,不执...
2025-06-16 22:19:35 667浏览 0点赞 0回复 0收藏
本文介绍如何在Android平台进行ArkUIX动态化开发,包括动态化目录规则及约束。适用场景动态化主要包括两个典型场景:场景1:框架动态化,为了降低应用ROM体积占用,及满足动态升级框架目的;场景2:特性Bundle动态化,特性和宿主应用发布解耦;开发指南目录说明动态加载时要求应用沙箱内目录架构如下所示:plaindatadata应用filesarkuix├──feature1跨平台特性1│├──etsets目录││├──sourceMaps.map││└──modules....
2025-06-15 22:58:11 484浏览 0点赞 0回复 0收藏
ArkUIX框架支持日志拦截能力,Android侧提供原生接口,用于注入LogInterface接口,框架日志及ts日志通过该接口输出,本文的核心内容是介绍如何在Android平台上有效利用ArkUIX框架的LogInterface拦截日志。Android平台创建ArkUIX框架LogInterface在Android平台创建ArkUIX框架LogInterface需要实现ILogger接口,实现声明接口完整示例如下:javaLogInterface.javaimportohos.ace.adapter.ILogger;publicclassLogInterfaceimplement...
2025-06-15 22:57:39 463浏览 0点赞 0回复 0收藏
本教程主要讲述如何利用ArkUIXSDK完成AndroidAAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括:1.跨平台Library工程开发介绍2.AAR在Android应用工程的集成方式使用ACETools和DevEcoStudio集成ArkUIXSDK进行AndroidAAR开发可以通过通过ACETools或DevEcoStudio完成ACETools1.acecreate命令创建一个跨平台的library模版工程:shellacecreate[project]tlibrary2.执行acebuildaar命令,构建Androidaar包。shellacebu...
2025-06-12 22:07:53 1168浏览 0点赞 0回复 0收藏
本文介绍将ArkUI框架的UIAbility跨平台部署至Android平台Fragment的使用说明,实现Android原生Fragment和ArkUI跨平台Fragment的混合开发,方便开发者灵活部署跨平台界面。Android工程配置Android工程的PackageName需要与OpenHarmony工程的BundleName一致;请在Android应用的gradle.properties文件,使能AndroidX:plainandroid.useAndroidXtrue请在Android应用的build.gradle文件增加AndroidXFragment库的依赖项:groovydepende...
2025-06-12 22:07:25 2048浏览 0点赞 0回复 0收藏
跨平台使用场景是一套ArkTS代码运行在多个终端设备上,如Android、iOS、OpenHarmony(含基于OpenHarmony发行的商业版,如HarmonyOSNext)。当不同平台业务逻辑不同,或使用了不支持跨平台的API,就需要根据平台不同进行一定代码差异化适配。当前仅支持在代码运行态进行差异化,接下来详细介绍场景及如何差异化适配。使用场景平台差异化适用于以下两种典型场景:1.自身业务逻辑不同平台本来就有差异;2.在OpenHarmony上调用了不...
2025-06-10 22:35:32 2318浏览 0点赞 0回复 0收藏
bridge核心架构思想平台桥接机制是ArkUIX框架提供的⼀种ArkTs语⾔和平台原⽣语⾔(Java、OC)之间通信的机制,⽅便⼆者互相调⽤。需要说明的是,平台桥接机制必须在打开ArkUI界⾯时才能进⾏,不能在⾮ArkUI界⾯触发。平台桥接机制有两种应⽤场景:1.ArkUI界⾯需要和原⽣应⽤底座进⾏业务层⾯通信,⽐如应用中,需要借助宿主通道获取设备状态信息、下发控制命令等;2.跨平台代码中⽤到了不⽀持跨平台的API,此时⼜想跨平台可以利...
2025-06-10 22:34:45 4315浏览 0点赞 0回复 0收藏
平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。本文主要介绍Android平台与ArkUI交互,ArkUI侧具体用法请参考BridgeAPI,Android侧参考BridgePlugin。ArkUI侧调用Android侧的方法1.在ArkUI侧调用Android侧的方法。typescriptxxx.etsprivatebridgeImplbridge.createBridge('Bridge');this.bridgeImpl.callMethod('platformCall...
2025-06-08 21:05:05 1285浏览 0点赞 0回复 0收藏
平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。本文主要介绍Android平台与ArkUI交互,ArkUI侧具体用法请参考BridgeAPI,Android侧参考BridgePlugin。创建平台桥接1.在ArkUI侧创建平台桥接。指定名称,该名称应与Android侧平台桥接的名称一致。通过创建的该对象即可调用平台桥接的方法。数据可以发送json格式或二进制格式。ty...
2025-06-08 21:04:27 786浏览 0点赞 0回复 0收藏
ArkUIX插件用于拓展ArkUI应用的能力,提供管理插件生命周期的能力。本文主要介绍Android平台的ArkUIX插件生命周期的使用。Android平台创建ArkUIX插件生命周期在Android平台创建ArkUIX插件生命周期需要实现IArkUIXPlugin接口。javaPluginTest.javaimportohos.ace.adapter.IArkUIXPlugin;importohos.ace.adapter.PluginContext;importohos.ace.adapter.capability.bridge.BridgePlugin;publicclassPluginTestimplementsIArkUIXPlu...
2025-06-03 21:55:33 1201浏览 0点赞 0回复 0收藏
本教程主要讲述如何利用ArkUIXSDK完成AndroidAAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括:1.跨平台Library工程开发介绍2.AAR在Android应用工程的集成方式使用ACETools和DevEcoStudio集成ArkUIXSDK进行AndroidAAR开发可以通过通过ACETools或DevEcoStudio完成ACETools1.acecreate命令创建一个跨平台的library模版工程:bashacecreate[project]tlibrary2.执行acebuildaar命令,构建Androidaar包。bashacebuil...
2025-05-28 22:18:11 2048浏览 0点赞 0回复 0收藏