- 博客(21)
- 收藏
- 关注
原创 鸿蒙编译构建-多目标产物
build-profile.json5:modules字段,用于记录工程下的模块信息,主要包含模块名称、模块的源码路径以及模块的 target 信息oh-package.json5:应用的三方包依赖配置文件local.properties: 应用本地环境配置文件obfuscation-rules.txt: 应用模块的混淆规则配置文件consumer-rules.txt: 库模块默认导出的混淆规则文件,会打包到HAR包中;仅支持HAR模块Entry/Feature,构建产物是HAP。
2025-03-31 13:17:38
500
原创 鸿蒙 一多适配/屏幕适配/设备适配/分栏
1,栅格系统栅格系统,即以设备的水平宽度为依据,形成了一套断点规则,将设备宽度分为 xs sm md lg 四大类。[更细一步的划分包括 xs sm md lg xl xxl 六类]宽度类型取值范围(vp)设备描述xs[0,320)最小宽度类型设备sm[320,520)小宽度类型设备md[520,840)中等宽度类型设备lg[840,+∞)大宽度类型设备2,2in1 设备。
2025-03-24 10:38:26
446
原创 鸿蒙开发 模块化
(不懂 hap hsp har 类型区别的,可查看这篇文章: 【todo】)【步骤三】,执行跳转操作 pushPathByName/popToName。此文章内容兼容API12,使用harmony next应用开发。(2) 在support 模块,实现接口,并预留“插桩”(2)所有的跳转操作,统一放在 support 模块下。(1)在support模块,定义交互接口。(3) entry 模块实现交互接口。(4)在首启页/启动页,实现“插桩”(3)跳转时,获取对应模块的。(1)每个模块维护自己的。
2025-03-09 15:53:04
315
原创 flutter混合开发-android studio 集成
但如果你的项目是陈年屎山,本身已经是java与kotlin 混合开发了,又想要集成,那可真是,“搬起石头砸自己的脚——自作自受” “哑巴吃黄连——有苦说不出”。2,使用模块源码集成的方式时,确认项目使用的是kotlin版本还是Groovy版本;demo里给的逻辑是 as项目和flutter module平级,如果flutter 在 as 项目下,修改路径即可。很多同学在这一步倒下了,对内,项目中涉及到的一些sdk依赖,配置文件声明,有众多联系,对外,涉及到一些三方自动打包工具编译环境,也会有众多关联。
2025-02-12 16:15:31
289
原创 鸿蒙开发-生物认证
5,开通权限后,敏感信息的存储设计,推荐使用。1,module.json5文件中,声明权限。3,引导跳转到设备系统的生物识别设置页面。2,检查设备是否支持生物认证。
2025-02-11 15:42:28
188
原创 鸿蒙app与JS的交互/通信
(2) javaScriptProxy是Web组件的方法,而,registerJavaScriptProxy是WebViewController的方法。(1) 但 javaScriptProxy 只能注册一个对象,registerJavaScriptProxy可以注册多个对象;(3) 但前者在Web组件初始化调用,后者在Web组件初始化完成后调用。registerJavaScriptProxy 的使用规则。2,在web处,调用 name.method。1,在原生的web处,定义。
2025-02-06 19:43:41
314
原创 鸿蒙app 通知接入
2,如果出现报错 “1000900010 Illegal application identity”,一定要记得检查 Client Id 和 更新“添加公钥指纹” 【见上面第二条】2,左侧项目设置 -> 常规 , 设置 “ 添加公钥指纹 ”,为默认的最上面一个。3,左侧 增长 -> 推送服务 ,开通后,选择配置tab,选择应用,获得 Client ID。3,收不到推送消息,检查一下是否在"skills" 里额外配置了 “uris”,删除此项再试。在平台上配置消息,如果顺利的话,可以收到推送消息。
2025-02-06 18:29:51
285
原创 鸿蒙的 context 上下文
context,即上下文,访问应用资源,如文件、字符串、图片、布局等。启动 Ability、Service、Data 等组件。获取系统服务,如 Preferences、SensorManager 等。订阅生命周期等1,各种context继承关系:持有关系:2,获取方式不同UIAbilityContext 在 UIAbility 的 onCreate 时即可获取;
2024-12-27 16:05:05
972
原创 鸿蒙 数据存储
鸿蒙的存储方案,包括 状态存储、用户首选项、键值型/关系型数据库。| 类型 | 解释 | 评价 || LocalStorage:页面级UI状态存储 | 页面级别,即用@Entry修饰的父组件声明,@Component修饰的子组件们可共享其缓存 | --|| AppStorage:应用全局UI状态存储 | 应用级别,全局缓存;一处缓存,全局UI均可取值 | --|| PersistentStorage:持久化UI状态存储 | 磁盘级别缓存 | app退出再次启动,仍保存选定的结果的场景 |
2024-12-25 19:39:15
702
原创 鸿蒙权限管理
(2)敏感权限必须动态申请,必须填写权限使用理由字段。敏感权限:地理位置、相机、麦克风、日历、健身运动、身体传感器、音乐、文件、图片视频等。若用户拒绝授权后,将无法再次拉起弹出,可以引导跳转设置页面手动授权。when:调用时机。可选,但只能填入 [ inuse(使用时)、always(始终),不能为空。2,用户拒绝后将无法再次拉起弹出,可以引导跳转设置页面手动受于权限。3,可申请单次授权,“仅本次允许/允许本次使用”1,子模块中申请的权限,无需再主项目重复添加。(3)权限组,会将多个权限组合在一起。
2024-11-20 19:10:48
642
原创 鸿蒙 网页加载 web
javaScriptProxy:将本地对象暴露给h5,使得网页可以调用本地对象的方法或访问其属性,实现h5和应用通信。2,onLoadIntercept:在页面加载之前拦截请求,允许开发者检查 URL、修改请求或直接返回自定义内容。7,mixedMode:如何处理加载超文本传输协议(HTTP)和超文本传输安全协议(HTTPS)混合内容,3,onBeforeUnload:刷新或关闭场景下,在即将离开当前页面时触发此回调。例如,显示自定义的权限请求对话框,或者根据应用的逻辑决定是否允许权限请求。
2024-11-20 15:41:22
729
原创 鸿蒙组件状态管理装饰器 V1 && V2 对比及使用
1,注意区分,V1 中的 @Provide和@Consume 和 V2 中的 @Provider和@Consumer。3,@Provider和@Consumer 本身不支持class,若需要修饰此类型,则需要配合 @Trace 使用。2,如上所示,观察嵌套类、对象数组的所有变化,推荐使用 @Local 搭配 @ObservedV2与@Trace。2,使用@Param @Once相当于使用@Local,区别在于@Param @Once能够接受外部传入初始化。2,可通过相同的变量名,或变量别名绑定。
2024-11-08 20:56:05
2401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人