自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 鸿蒙和Android知识点

技术知识点摘要 鸿蒙开发:涉及鸿蒙OS与Android的区别、ArkTs语言特性、组件生命周期、数据持久化、线程通信机制、后台任务类型、Stage模型架构、多线程优化、UI适配等核心开发问题。重点关注Ability组件、页面优化、权限管理、打包配置等技术细节。 Android开发:涵盖Java/Kotlin基础(多线程、锁机制、集合)、JVM原理、网络协议(TCP/HTTP)、性能优化、组件原理(Activity/View)、IPC通信(Binder)、Jetpack组件(ViewModel/LiveDat

2025-07-15 17:19:47 488

原创 ArkUI-X通过Stage模型开发Android端应用指南(二)

所以将原生Activity按照上文中Ability对应StageActivity的规则命名,可以用启动Ability的方式拉起原生Activity。每一个Ability对应一个StageActivity,启动Ability实际是拉起对应的StageActivity。putExtra中的key值为"params",对应的value为WantParams字符串。value为json格式。key值为params。

2025-06-24 21:29:56 1058

原创 ArkUI-X通过Stage模型开发Android端应用指南(一)

本文介绍将ArkUI框架扩展到Android平台所需要的必要的类及其使用说明,开发者基于OpenHarmony,可复用大部分的应用代码(生命周期等)并可以部署到Android平台,降低跨平台应用开发成本。

2025-06-24 21:29:03 283

原创 ArkUI-X案例解析

目前,已经有按照方案完成整体改造的4个Sample作为完整案例。下面以实际改造过程中遇到的经典问题进行案例详解。

2025-06-23 13:06:17 687

原创 ArkUI-X资源分类与访问

应用开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。

2025-06-23 13:05:43 907

原创 ArkUI-X平台桥接Bridge说明

平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。以Android平台为例,ArkTS和Java没有相互调用的能力,为了实现ArkTS和Java交互,需要ArkTS与C++交互,C++再与Java交互,反之亦然。但是对于开发者,就像是ArkTS和Java直接交互。本文介绍如何通过平台桥接编写自定义的Android、iOS平台代码。ArkUI侧具体用法请参考Bridge API。

2025-06-19 22:12:00 617

原创 ArkUI-X应用工程结构说明

本文档配套ArkUI-X,将OpenHarmony ArkUI开发框架扩展到不同的OS平台,比如Android和iOS平台,让开发者基于ArkUI,可复用大部分的应用代码(UI以及主要应用逻辑)并可以部署到相应的OS平台,降低跨平台应用开发成本。跨平台应用工程目录结构说明以IDE创建的模板工程【ArkUI-X】Empty Ability举例,包含一套为ArkUI开发者提供的应用工程模板,提供构建OpenHarmony应用,HarmonyOS应用,Android应用,iOS应用的能力。

2025-06-19 22:11:26 388

原创 ArkUI-X跨平台技术落地-华为运动健康(二)

通过引入ArkUI-X技术,使得华为运动健康应用三端平台复用健康模块代码,从而在三端交互一致的前提下提升开发效率以及代码复用率(目前代码复用率为74.3%,提升研发效率30%),并且用户体验追平原生native页面的体验效果。后续规划,运动健康应用内部更多高频使用的页面和模块(如单次运动模块、运动记录页面等)也会逐渐迁移到ArkUI-X跨平台框架上。

2025-06-18 21:55:49 1238

原创 ArkUI-X跨平台技术落地-华为运动健康(一)

在健康二级页面上,数据来自于运动健康内部的“数据平台”,但是目前运动健康在三端上的“数据平台”有各自单独的实现(运动健康“数据平台”可以理解成为一个独立的内部数据存储模块,具备增、删、改、查健康数据以及实现端云数据同步的功能)。但是由于历史原因,当前三端的数据平台无法做到代码复用,有各自的接口和逻辑实现,所以如何去除健康二级页面(如睡眠、心脏健康)与 数据平台的耦合关系,通过接口的形式隔离三端(iOS 和 Android和鸿蒙NEXT系统)的数据平台的实现差异,成为一个重要的问题。

2025-06-18 21:55:08 790

原创 ArkUI-X跨平台应用改造指南

基于ArkTS开发的HarmonyOS Next应用,配套ArkUI-X跨平台框架,可以快速改造为跨平台应用,缩短开发周期,同时还能确保应用在 HarmonyOS Next、Android、iOS 多个平台上,为用户提供一致的交互体验。:对于App来说,A包和B包都存在”设置页面、我的页面、登录页面“(见上图),这些共性的代码和文件如果分别存放于A包和B包会导致大量的冗余代码,也不利于后期维护,因此建议对其进行抽象,形成一个独立的模块存放(features层模块main),通过module依赖的方式使用。

2025-06-16 22:06:12 1258

原创 ArkUI-X与Android联动编译开发指南

本文主要介绍通过CLI工具链执行ace create project命令创建工程,生成联动编译脚本。使用Android Studio编译Android应用时,可联动编译ArkTS源码,并自动拷贝ArkTS产物到Android工程中。其功能主要包括:1.手动配置编译ArkTS源码开关2.手动配置编译module3.手动配置文件输出路径。

2025-06-16 22:05:33 336

原创 ArkUI-X在Android平台动态化开发指南

本文介绍如何在Android平台进行ArkUI-X动态化开发,包括动态化目录规则及约束。

2025-06-15 22:43:08 321

原创 ArkUI-X框架LogInterface使用指南

本文介绍了如何在Android平台使用ArkUI-X框架的日志拦截功能。主要内容包括:1)创建自定义LogInterface实现ILogger接口,用于处理框架日志输出;2)通过StageApplicationDelegate的setLogInterface方法注入日志拦截器,默认仅拦截ERROR和FATAL级别日志;3)使用setLogLevel方法调整日志拦截等级,但需注意降低等级可能导致应用崩溃的风险。实现步骤清晰,代码示例完整,为开发者提供了有效的日志管理方案。

2025-06-15 22:42:13 451

原创 ArkUI-X构建Android平台AAR及使用

摘要:本文介绍如何使用ArkUI-X SDK开发Android AAR包,实现ArkTS声明式开发范式在Android平台的显示。主要内容包括:1)通过ACE Tools或DevEco Studio创建跨平台Library工程并构建AAR包;2)在Android Studio应用中集成AAR包,详细说明了Application继承调用、代理类调用方式,以及AndroidManifest.xml和build.gradle的配置方法。最后按照标准流程即可构建出ArkUI Android应用。(150字)

2025-06-12 21:52:42 399

原创 ArkUI-X在Android上使用Fragment开发指南

本文介绍了如何将ArkUI框架的UIAbility跨平台部署到Android的Fragment中,实现Android原生与ArkUI界面的混合开发。主要内容包括:1) Android工程配置需匹配BundleName并添加AndroidX依赖;2) 关键类StageApplication用于初始化资源;3) 原生Activity需继承FragmentActivity并绑定StageFragment;4) StageFragment需设置instanceName关联UIAbility。文章还详细说明了参数传递

2025-06-12 21:51:58 961

原创 ArkUI-X平台差异化

跨平台使用场景是一套ArkTS代码运行在多个终端设备上,如Android、iOS、OpenHarmony(含基于OpenHarmony发行的商业版,如HarmonyOS Next)。当不同平台业务逻辑不同,或使用了不支持跨平台的API,就需要根据平台不同进行一定代码差异化适配。当前仅支持在代码运行态进行差异化,接下来详细介绍场景及如何差异化适配。

2025-06-10 22:10:14 366

原创 ArkUI-X跨平台Bridge最佳实践

ArkUI-X框架的桥接机制(Bridge)实现了ArkTS与原生平台(Java/OC)间的双向通信,支持三种应用场景:业务层通信、跨平台API调用和平台差异化处理。该机制提供JSON编解码、二进制传输和线程并发三种模式,支持数据传递和方法互调。通过分层架构设计,开发者可统一调用接口,底层实现平台差异,最终实现"一码三平台"目标。以相机调用为例,上层业务无需区分平台,底层根据平台自动切换实现方式,有效减少了代码修改量,提升了跨平台开发效率。

2025-06-10 22:09:39 851

原创 ArkUI-X与Android桥接通信之方法回调

本文介绍了Android平台与ArkUI交互的实现方法,主要包括双向数据传递和相互调用机制。在ArkUI侧调用Android方法时,需通过bridge.createBridge创建连接,使用callMethod发起调用并处理Promise结果;Android侧则需实现对应方法返回结果。Android调用ArkUI方法需先注册方法,支持两种调用方式。文章还展示了回调监听机制实现,包括方法注册/注销监听和带参数回调处理,以及不同类型参数(基础类型、数组、对象)的传递示例。该机制有效实现了跨平台通信,为混合开发提

2025-06-08 20:36:35 556

原创 ArkUI-X与Android桥接通信之消息通信

本文介绍了ArkUI与Android平台间的双向桥接通信方法。通过创建同名Bridge实例,双方可实现数据交互:ArkUI使用createBridge()创建实例,Android继承BridgePlugin类。ArkUI向Android发送数据使用sendMessage(),通过setMessageListener()接收回调;Android通过onMessage()接收数据并返回响应。双方均支持JSON和二进制格式数据传输,完整实现了跨平台消息传递与方法调用能力。

2025-06-08 20:35:43 452

原创 ArkUI-X中Plugin生命周期开发指南

摘要:本文介绍了Android平台ArkUI-X插件生命周期的使用方法。开发者需实现IArkUIXPlugin接口,在onRegistry()和onUnRegistry()方法中分别完成插件的初始化和资源释放。注册插件时需在StageActivity的onCreate()方法前调用addPlugin(),并以字符串形式提供完整包名。示例展示了插件创建与注册过程,包括Bridge相关操作的生命周期管理。注意事项强调addPlugin()必须在super.onCreate()之前调用。

2025-06-03 21:23:21 270

原创 ArkUI-X添加到现有Android项目中

本文介绍了使用ArkUI-X SDK开发Android AAR的方法,支持ArkTS声明式开发在Android平台的显示。通过ACE Tools或DevEco Studio创建跨平台Library工程并构建AAR包,然后在Android应用中集成AAR。集成方式包括继承调用和代理类调用,可通过Activity或Fragment加载ArkUI-X页面。文中提供了详细的操作步骤和代码示例,帮助开发者实现ArkUI-X与Android的跨平台开发。

2025-05-29 09:49:09 356

原创 ArkUI-X跨平台框架接入指南

ArkUI-X是ArkUI开发框架的跨平台扩展,支持OpenHarmony、Android和iOS等多个操作系统。开发者可以使用DevEco Studio进行ArkUI-X的源码开发和调试,但各平台的Native代码需使用对应平台的IDE进行开发。ArkUI-X支持在Android和iOS的真机及模拟器上运行调试,要求OpenHarmony API 10+、Android 8+和iOS 10+。安装ArkUI-X SDK后,需配置Android SDK的环境变量。在DevEco Studio中创建跨平台模板

2025-05-18 12:42:22 662

原创 DevEco重大更新快来体验吧

HarmonyOS的API 17版本带来了多项重要更新,显著增强了开发工具DevEco Studio的功能和系统能力。首先,DevEco Studio现在支持创建API 17应用,并首次在模拟器中支持阔折叠手机和2合1设备,这大大扩展了开发者的测试和开发环境。此外,系统在权限管理方面更加严格,新增了自动签名功能,帮助开发者在开发阶段快速申请特定权限。DevEco Studio还引入了自动监听WebView进程并转发端口的功能,简化了WebView调试过程。系统能力的增强包括窗口大小指定、AR Engine的

2025-05-17 14:09:41 733

原创 鸿蒙用户首选项数据持久化

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。Preferences会将该数据缓存在内存中,当用户读取的时候,能够快速从内存中获取数据,当需要持久化时可以使用flush接口将内存中的数据写入持久化文件中。

2025-03-13 12:13:51 1125

原创 鸿蒙WebSocket的使用竟如此简单

使用WebSocket建立服务器与客户端的双向连接,需要先通过createWebSocket()方法创建WebSocket对象,然后通过connect()方法连接到服务器。当连接成功后,客户端会收到open事件的回调,之后客户端就可以通过send()方法与服务器进行通信。当服务器发信息给客户端时,客户端会收到message事件的回调。当客户端不要此连接时,可以通过调用close()方法主动断开连接,之后客户端会收到close事件的回调。若在上述任一过程中发生错误,客户端会收到error事件的回调。

2025-03-13 12:11:56 426

原创 鸿蒙保存图片到相册

在其它手机端,若想保存图片到相册,需要申请对应的权限,而鸿蒙中对应的权限为受限开放权限,普通应用一般不让申请,这个时候我们可以使用安全保存控件来临时申请权限,用于保存图片到相册。

2024-12-31 09:38:39 1217

原创 鸿蒙ArkUI-X简介

ArkUI是一套构建分布式应用的声明式UI开发框架。它具备简洁自然的UI信息语法、丰富的UI组件、多维的状态管理,以及实时界面预览等相关能力,帮助您提升应用开发效率,并能在多种设备上实现生动而流畅的用户体验。ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,后续会逐步增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。

2024-11-27 22:02:26 1283

原创 鸿蒙ArkUI-X已更新适配API13啦

ArkUI-X 5.0.1 Release版配套OpenHarmony 5.0.1 Rlease,API 13,新增适配部分API 13接口支持跨平台;框架能力进一步完善,支持Android应用非压缩模式,支持Android Fragment对接跨平台。ACE Tools工具易用性提升,支持创建module时选择module类型、config提示优化和联动编译。组件跨平台能力进一步增强,新增XComponent组件支持跨平台。

2024-11-27 09:57:06 900

原创 鸿蒙安全控件之位置控件简介

位置控件使用直观且易懂的通用标识,让用户明确地知道这是一个获取位置信息的按钮。这满足了授权场景需要匹配用户真实意图的需求。只有当用户主观愿意,并且明确了解使用场景后点击位置控件,应用才会获得临时的授权,获取位置信息并完成相应的服务功能。一旦应用集成了位置控件,用户点击该控件后,无论应用是否已经申请过或被授予精准定位权限,都会在本次前台期间获得精准定位的授权,可以调用位置服务获取精准定位。

2024-11-26 12:37:50 1167

原创 鸿蒙安全控件之保存控件简介

保存控件是一种特殊的安全控件,它允许用户通过点击按钮临时获取存储权限,而无需通过权限弹框进行授权确认。集成保存控件后,当用户点击该控件时,应用会获得10秒内访问媒体库特权接口的授权。这适用于任何需要将文件保存到媒体库的应用场景,例如保存图片或视频等。与需要触发系统应用并由用户选择具体保存路径的Picker不同,保存控件可以直接保存到指定的媒体库路径,使得操作更为便捷。保存控件效果如图所示。

2024-11-26 06:58:56 265

原创 鸿蒙安全控件之粘贴控件简介

粘贴控件是一种特殊的系统安全控件,它允许应用在用户的授权下无提示地读取剪贴板数据。在应用集成粘贴控件后,用户点击该控件,应用读取剪贴板数据时不会弹窗提示。可以用于任何应用需要读取剪贴板的场景,避免弹窗提示对用户造成干扰。例如,用户在应用外(如短信)复制了验证码,要在应用内粘贴验证码。用户原来在进入应用后,还需要长按输入框、在弹出的选项中点击粘贴,才能完成输入。而使用粘贴控件,用户只需进入应用后直接点击粘贴按钮,即可一步到位。粘贴控件效果如图所示。

2024-11-22 09:46:25 960

原创 鸿蒙安全控件简介

安全控件是系统提供的一组系统实现的ArkUI组件,应用集成这类组件就可以实现在用户点击后自动授权,而无需弹窗授权。它们可以作为一种“特殊的按钮”融入应用页面,实现用户点击即许可的设计思路。安全控件坚持仅采集实现业务功能所必须的个人数据,以服务于用户的需求,帮助开发透明、可选、可控的隐私合规应用。

2024-11-21 22:26:37 457

原创 鸿蒙无权限实现图片选择拍照和录视频

在鸿蒙开发中,系统提供了PhotoViewPicker选择图片,cameraPicker拍照和录视频,此方式能够达到无需向用户申请权限就能选图片、拍照和录视频。除了用户操作的选图、拍照和录视频,其它时间APP无权获取相册图片,无权调用相机,对于用户来说,使用相册和相机都是很明确的时机,安全性非常高。以下来看看具体的使用方式。

2024-11-21 12:10:57 570

原创 鸿蒙开发Hvigor插件动态生成代码

Hvigor允许开发者实现自己的插件,开发者可以定义自己的构建逻辑,并与他人共享。Hvigor主要提供了两种方式来实现插件:基于hvigorfile脚本开发插件、基于typescript项目开发。下面以基于hvigorfile脚本开发插件进行介绍。

2024-11-20 17:51:21 1495

原创 鸿蒙hvigor构建任务依赖与生命周期简介

在Hvigor执行构建的过程中,hvigor-ohos-plugin会向Hvigor进行任务的注册,Hvigor会根据构建的任务执行有向图依次调用对应的插件来执行相应任务,在完成编译、打包、签名等一系列任务后,Hvigor也就正式完成了构建。hvigor-ohos-plugin是默认的构建插件,为任务(Task)的完成提供业务逻辑支持,比如为Hvigor提供Hap、Har和Hsp打包服务等任务,每一种任务的具体执行逻辑由本模块中不同的插件来提供。在下图中所有绿色标记的线框为可以使用的hook点。

2024-11-20 11:33:00 1003

原创 鸿蒙开发Hvigor任务简介

编译构建工具DevEco Hvigor(以下简称Hvigor)是一款基于TS实现的构建任务编排工具,主要提供任务管理机制,包括任务注册编排、工程模型管理、配置管理等关键能力,提供专用于构建和测试应用的流程和可配置设置。DevEco Studio使用构建工具Hvigor来自动执行和管理构建流程,实现应用/服务构建任务流的执行,完成HAP/APP的构建打包。Hvigor可独立于DevEco Studio运行,这意味着,你可以在DevEco Studio内、命令行工具或是集成服务器上构建应用。

2024-11-18 18:44:08 434

原创 API13Bate版来了DevEco已更新快来看新功能吧

HarmonyOS 5.0.1 Beta3,是HarmonyOS开发套件基于API 13正式发布的首个Beta版本。该版本在OS能力上主要增强了C API的相关能力,多个特性补充了C API供开发者使用。

2024-11-18 12:00:17 692

原创 鸿蒙Navigation拦截器实现页面跳转登录鉴权方案

NavPathStack提供了setInterception方法,用于设置Navigation页面跳转拦截回调。该方法需要传一个NavigationInterception对象,该对象包含三个回调函数willShow,didShow和modeChange,我们在willShow页面即将显示时,进行拦截处理。先判断是否登录,没有登录,就重定向到登录页面,若已登录,则继续后续行为,不做拦截。示例如下@Entry})build() {

2024-11-15 12:01:36 2461

原创 鸿蒙Navigation入门使用

Navigation组件适用于模块内和跨模块的路由切换,通过组件级路由能力实现更加自然流畅的转场体验,并提供多种标题栏样式来呈现更好的标题和内容联动效果。一次开发,多端部署场景下,Navigation组件能够自动适配窗口显示大小,在窗口较大的场景下自动切换分栏展示效果。

2024-11-14 22:24:14 1050

原创 鸿蒙Navigation知识点详解

Navigation通过customNavContentTransition事件提供自定义转场动画的能力,通过如下三步可以定义一个自定义的转场动画。构建一个自定义转场动画工具类CustomNavigationUtils,通过一个Map管理各个页面自定义动画对象CustomTransition,页面在创建的时候将自己的自定义转场动画对象注册进去,销毁的时候解注册;

2024-11-14 12:31:22 1134

空空如也

空空如也

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

TA关注的人

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