- 博客(17)
- 资源 (6)
- 收藏
- 关注
原创 Harmony行酒令开发核心代码
本文分享了一个基于鸿蒙开发的行酒令APP的核心代码实现。项目主要包含以下几个核心模块:1) Ability入口类实现生命周期管理;2) 首页TabBar导航组件设计;3) 自定义WebView组件用于显示H5页面;4) 隐私协议弹框和用户协议页面的交互实现;5) 基于Axios的二次封装网络请求模块。项目采用ArkUI框架开发,展示了鸿蒙应用的基本开发流程和典型组件使用方式,包括页面路由、数据绑定、自定义弹框等核心功能,可作为鸿蒙开发初学者的参考案例。
2025-06-13 00:42:24
135
原创 Harmony SDK开发
本文介绍了鸿蒙项目中公用组件的封装方法,以解决代码复用和管理问题。主要步骤包括:1)根据项目类型选择创建SharedLibrary或StaticLibrary;2)配置oh-package.json5文件定义库的基本信息和依赖;3)通过Index.ets文件导出公共接口;4)提供了三种库依赖方式(本地路径、指定文件、公用仓库)。该方法适用于单一hap(.har)或多hap(.hsp)项目,能有效避免代码重复和维护困难。
2025-06-13 00:38:44
318
原创 Android底部导航栏覆盖问题
【摘要】升级compileSdk至36后,发现传统三键导航栏会覆盖底部Tabbar。通过动态获取导航栏高度并调整布局的方案完美解决问题:1)使用getNavigationBarHeight()方法获取手势导航(46px)和按键导航(136px)高度;2)在Tabbar下方添加动态高度的边距View;3)通过setNavigationBarStyle()自动适配导航栏图标颜色。该方案兼容不同导航模式,且保持沉浸式效果,实测在红米设备上运行良好。(149字)
2025-06-12 17:35:21
225
原创 KMP环境搭建
摘要:本文介绍了KMP开发环境的搭建步骤。首先需要安装Android Studio/IntelliJ IDEA(Android开发)和Xcode(iOS开发)。然后通过两种方式安装KMP插件:1)在插件市场搜索"Multiplatform"直接安装;2)从JetBrains官网下载对应版本的插件离线安装。安装完成后,可通过新建项目向导创建跨平台项目,选择目标平台后即可开始开发。整个过程需要根据开发需求配置相应的IDE环境。
2025-06-12 00:07:20
705
原创 Xcode更新绑定设备列表失败
摘要:iOS设备添加新UDID后打包失败,新设备无法安装。尝试重登Xcode账号、删除缓存均无效。最终通过苹果后台废除旧证书并重新打包解决,Xcode自动生成新证书并更新UDID信息,成功完成部署。
2025-06-11 17:10:02
245
原创 此应用专为旧版Android系统打造
摘要:新版Android Studio自动升级AGP到8.10.1后出现debug包运行失败问题。通过还原AGP到8.0.0未解决,后升级SDK版本,发现缺失targetSdk是主因。将targetSdk设置为35后问题解决,推测未来minSdk可能取代targetSdk成为版本适配关键参数。(98字)
2025-06-11 12:31:52
153
原创 自建sonatype/Nexus3
企业自建Nexus私服提升项目依赖管理效率。通过Docker快速部署Nexus3服务,配置代理仓库缓存三方依赖包(包括Maven、NPM等),统一管理自建包。实现依赖下载加速、网络优化及权限管控,大幅提升构建速度。配置步骤涵盖容器安装、密码设置、代理仓库创建及项目settings.gradle文件集成。支持多种包类型,解决不同项目依赖需求,优化开发体验。
2025-06-10 10:47:32
236
原创 Kotlin Multiplatform使用感受
KMP(Kotlin Multiplatform)是新兴的跨平台开发方案,通过Kotlin语法实现非UI逻辑共享,Compose Multiplatform解决UI跨平台问题。相比RN、Flutter等方案,KMP直接编译为原生代码,避免了桥接性能损耗,支持渐进式改造,既保持原生体验又能提高开发效率。在当前APP追求质量体验的趋势下,KMP为开发速度和产品质量提供了平衡方案,特别适合混合项目改造。JetBrains和Google已深度合作推动相关技术发展,推荐技术团队尝试这一原生级跨平台方案。
2025-06-09 11:46:48
795
原创 KMP渐进式改造老项目-非UI部分迁移
对于渐进式改造老项目来说,最主要追求的是“稳”字。把非UI层面的业务逻辑和所有的数据处理放在单独的模块中,即做到了显示层和逻辑层解耦,也能把逻辑层单独拿出来提供给其他端使用。当compose UI跨平台出现兼容性问题时,可以及时使用纯原生(Jetpack Compose/Swift UI)界面+kotlin逻辑的方式进行处理。
2025-06-08 03:21:48
450
原创 KMP渐进式改造老项目思路
摘要:该项目为旅游类APP,采用混合开发框架(mPaaS、Uniapp、Vue3)存在代码冗余、H5性能瓶颈、动画效果差等痛点。改造方案选用KMP(Kotlin Multiplatform)实现渐进式迁移,新功能直接开发KMP模块,老功能先迁移业务逻辑后替换UI。目前已成功将首页功能接入原生项目,后续计划迁移非UI逻辑和重写通用组件。验证表明Compose跨平台页面在原生项目中引用可行,Android调用较简单,iOS需通过UIViewControllerRepresentable封装。该方案有效解决了多端
2025-06-06 23:37:09
853
原创 Git设置代理
在使用git进行clone的时候,发现浏览器可以正常打开,而命令行却总是超时,怀疑是git代理的问题。于是尝试了各种办法后,终于通过设置git代理解决了。,开发设备已经通过代理设置,浏览器可以正常访问github。
2025-06-05 23:56:45
235
原创 iOS发送本地通知栏通知
iOS通知系统实现方案对比:新版本采用UserNotifications框架,在AppDelegate中请求通知权限并设置代理,支持前台通知显示和点击回调处理。通知发送使用UNMutableNotificationContent构建内容并通过UNUserNotificationCenter发送。老版本基于UILocalNotification实现,需在application(:didFinishLaunchingWithOptions)中注册通知类型,发送时创建UILocalNotification实例并设
2025-06-05 23:51:54
346
原创 iOS修改窗口Window背景色
iOS弹框时导航栏白色问题解决方案:通过分析发现是windowScene背景色导致,修改view或window的backgroundColor无效,最终通过设置navigationController.view.window.backgroundColor = UIColor.blackColor成功解决。该方法适用于需要调整弹框时导航栏背景色的场景。
2025-06-05 23:49:16
146
原创 Jetpack Compose嵌入View页面出现滚动冲突
Android滑动冲突解决方案摘要 在Android项目开发中,当BottomSheetDialog内嵌Compose的LazyColumn组件时,出现了滑动冲突问题。解决方案是通过NestedScrollInterop实现手动管理滚动冲突:在调用方设置ComposeView时创建nestedScrollInteropConnection,并将该连接传递给LazyColumn组件;在组件方使用.nestedScroll(nestedScrollInterop)修饰符将连接应用到LazyColumn上。这种方
2025-06-05 23:41:03
168
原创 KMP作为第三方库导入xcode项目
在使用kmp进行跨平台开发的过程中,单独创建项目肯定是可以在多平台正常运行的。但目前处于老项目的过渡时期,需要逐步迭代改造,就需要分模块进行替换,在替换的过程中需要将kmp打包好的.aar或者.framework文件进行导入老项目。
2025-06-04 11:50:58
221
原创 Xcode安装Simulator失败
1、去官网下载自己需要 地址(https://developer.apple.com/download/all)2、下载完成后,执行以下命令添加:xcrun simctl runtime add /路径/iOS_17_Simulator_Runtime.dmg(这个是自己下载的文件的地址)3、等待添加完毕
2023-10-26 15:46:55
627
原创 Google官方提供2种测试人员参与测试方式
测试人员可以在 Android 设备上通过 Google Play 参与测试测试人员可以在相应网页中参与测试。
2023-09-04 20:48:32
1245
2
Xcode升级缺失的arc库
2025-06-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人