1.背景在鸿蒙团队开发中,我们可能会遇到以下场景:团队内的小伙伴修改并顺手格式化【Cmd+Option+LCtrl+Alt+L】了一下A.est页面的代码,然后Commit提交了。此时你刚好也在更改A.est页面的代码,然后不小心拉取了一下代码,代码冲突了😭,此时你准备解决冲突,一不小心roback回滚了你本地的代码。虽然通过本地的gitstash恢复了回滚的代码,但是内心还是有些颤抖的。🤣此刻你聪明的小脑袋会想,有没有什么办法统一团队内格式化代...
2024-08-02 13:11:53 2476浏览 0点赞 0回复 0收藏
背景HarmonyOSNEXT中使用hsp(SharedLibrary)类型的module时会发现其它module无法引用hspmodule中的资源,如何解决呢?想到Android中的资源访问实现是通过R资源类索引资源实现的,那么hsp虽然不能暴露资源,但是可以暴露类呀,那么方案来了,我们可以参考Android在HarmonyOS上实现类似的R资源类。关于hsp的官方介绍,https:docs.openharmony.cnpagesv4.1zhcnapplicationdevquickstartinapphsp.md新建SharedLibrary(hsp)实现R资源类其它module使用引入本地hsp,module使用R资源类中的资源
2024-08-01 11:11:08 5124浏览 0点赞 0回复 0收藏
1.背景由于本菜鸡是从Android开发转而学习HarmonyOSNEXT开发的,所以在ArkTS中解析接口返回的JSON数据时,习惯将JSON字符串转为DataClass而不是前端中的interface或者JSONObject。2.问题在ArkTS中,想要将JSON转为Class,最常见的方法就是asClass,但是这种写法有一个很严重的问题,就是as后的Class中的function方法丢失了,例如下面的代码,使用class中的isOk方法时,会报错提示找不到该方法。TypescriptclassDataBean{code1ms...
2024-08-01 11:09:02 4948浏览 0点赞 0回复 0收藏
1.背景在HarmonyOSNEXT中,想要获取设备ID,有3种方式UDID:[deviceinfo.udid](https:docs.openharmony.cnpagesv4.1zhcnapplicationdevreferenceapisbasicserviceskitjsapisdeviceinfo.md),仅限系统应用使用AAID:[aaid.getAAID()](https:developer.huawei.comconsumercndocharmonyosguidesV5pushgetaaidV5),然而卸载APP恢复设备出厂设置后会发生变化OAID:[identifier.getOAID](https:developer.huawei.comconsumercndocharm...
2024-08-01 11:08:15 3493浏览 0点赞 0回复 0收藏
1.背景在鸿蒙实际开发中,为了防止内存泄露我们有以下写法。需要手动在aboutToDisappear中反注册,或者执行一段逻辑。此时我们会有点怀念AndroidJetPack中的Lifecycle组件。1.1事件订阅页面关闭取消监听键盘高度变化typescriptimport{Utils}from'androidutilcode'ComponentstructTest{privateonKeyboardHeightChange(height:number){键盘高度变化console.log(键盘高度${height})}注册键盘高度监听aboutToAppear(){Utils.getMain...
2024-08-01 11:06:09 6707浏览 0点赞 0回复 0收藏
1、前言在鸿蒙项目初期开发中,我们的代码结构可能是这样,features功能模块目录中,涉及到所有功能模块都调用的功能,都放到【公共功能】har中。但是,随着功能的不断增加,和时间推移。这种结构可能会有以下几种问题。1.公共功能har,代码臃肿,业务耦合严重,维护成本增加2.公共功能har,功能无法拆分,假如有手机、手表、汽车三种产品。公共功能har中不同产品可能需要得功能也是不一样的。无法做到产品功能隔离3.实现一个功...
2024-07-26 11:53:42 3749浏览 1点赞 0回复 0收藏