- 博客(303)
- 资源 (13)
- 问答 (1)
- 收藏
- 关注
原创 技能补全之正则表达式
对于程序员职业,无论是全职的开发,还是自动化测试,都少不了进行文本校验操作。而诸多文本校验操作,有笨拙的,也有高效的。高效的文本校验操作,少不了使用正则表达式,因为它本身就是根据字符串内容的组成规律而概括得来的模式。因为正则表达式的魅力,Python 内置相应能力进行支持,比如re模块,再比如unittest框架的 assertRegex 方法和 assertNotRegex 方法。下面,就结合 Python 的这两个模块,带领屏幕前的你,进行正则表达式的系统性学习。
2025-09-14 15:12:31
470
原创 技能补全之Python操作MongoDB
摘要: 本文介绍了Python操作MongoDB的方法,涵盖MongoDB的数据存储形式(文档型数据库,类似JSON格式)及其操作符分类(比较、逻辑、数组等)。重点演示了通过pymongo库连接本地MongoDB的步骤:创建客户端MongoClient、获取数据库和集合对象,对目标文档集合进行增删改查,以及如何在筛选条件中使用操作符。
2025-08-31 15:47:46
599
原创 HarmonyOS NEXT系列之元服务框架ASCF
本文介绍了鸿蒙开发者平台新推出的ASCF框架插件,用于元服务开发。ASCF项目目录包含ascf_src和rawfile两大核心部分,其中ascf_src由pages和component组成,采用HXML、CSS、JS和JSON四种文件实现页面逻辑。与传统的ArkTS开发相比,ASCF更接近Web开发模式,虽便于前端开发者上手,但将功能分散到多个文件中。文章详细解析了项目结构、页面实现方式及部署注意事项,指出ASCF框架为开发者提供了另一种轻量化的元服务开发选择。
2025-08-24 15:34:10
1008
原创 HarmonyOS NEXT系列之编译三方C/C++库
本文介绍了如何将C/C++三方库编译为HarmonyOS NEXT平台可用的动态库文件(.so)。主要内容包括:1)新建CMake管理的C/C++项目,配置目录结构和CMakeLists.txt文件;2)编写示例代码并编译生成arm64-v8a架构的动态库;3)在HarmonyOS NEXT项目中通过NDK模块集成预编译库,包括头文件引入和库文件配置。文章详细说明了从项目创建到最终集成的完整流程,为开发者提供了将C/C++库移植到HarmonyOS NEXT平台的实用指南。
2025-08-10 16:33:01
907
2
原创 HarmonyOS NEXT系列之定制化构建制品
上一周,为了让自己开发的工具 EasyRouter,在 ohpm 中心仓中获得满分,所以针对评分规则添加了带 example 目录的 v1.1.0 版本,然而,等到审核成功并上架后,却发现仍旧没有拿到满分,而后我在 ohpm 中心仓上找一个已经获得满分的、其他人制作的工具,查看对应的源码工程,发现 example 目录必须在 src 目录同级,才能被扫描和识别。
2025-08-02 10:47:01
853
原创 HarmonyOS NEXT 系列之规范开发三方共享包
构建成完整的应用上架到相关软件商店中,构建成三方软件包发布到中心仓库,鸿蒙生态这边也是如此,只不过,对于个人开发者来说,上架到华为的鸿蒙应用商店并不容易,因为必须提供软著证书等有效证件,而这个软著的申请本来就很费事,相比之下,发布共享包到 ohpm 中心仓库,就显得简单可行了。如图所示,我已经成功上架两个软件包到 ohpm 中心仓库上了,因而积累了一定的经验,下面就让我向大家阐述如何规范地开发鸿蒙共享包。
2025-07-27 10:11:55
786
原创 从零开始开发纯血鸿蒙应用之探析仓颉语言与ArkTS的差异
摘要:本文对比了鸿蒙原生应用开发中的两种推荐语言——ArkTS与仓颉语言的主要差异。首先,仓颉语言需通过插件支持,而ArkTS在DevEco Studio中默认可用。其次,仓颉语言使用内置组件时必须显式导包,而ArkTS无需导入;仓颉中可通过internal修饰符优化导包冗余。此外,仓颉采用类似Jetpack Compose的包声明结构,且页面路由无需在配置文件中注册,推测其package语句隐含路由定义功能。这些差异显示ArkTS更简洁,而仓颉语言在模块化管理上更灵活。开发者可根据需求选择适合的语言。
2025-07-05 12:51:22
960
原创 从零开始开发纯血鸿蒙应用之发布共享包
摘要:本文介绍了如何发布鸿蒙har包到三方中心仓的完整流程。首先讲解了ohpm工具的作用及环境搭建,详细说明了注册中心仓账号、配置SSH密钥等准备工作。接着以日志模块为例,阐述了构建har包的关键步骤,包括添加README文档、完善oh-package.json5配置文件、处理依赖关系等。最后介绍了使用ohpm publish命令发布制品的操作过程,以及制品审核状态检查方法。全文为开发者提供了从配置环境到成功发布的完整指南,帮助开发者快速掌握鸿蒙模块的发布技能。
2025-06-29 09:07:15
1261
原创 从零开始开发纯血鸿蒙应用之用户首选项
本文介绍了鸿蒙API 18中用户首选项的新特性——支持GSKV存储类型,相比传统的XML存储具有实时落盘优势。作者详细对比了新旧版本差异,并基于StorageType枚举类和isStorageTypeSupported接口,分享了如何封装一个兼容两种存储类型的PreferenceUtil工具类。该工具类通过二次封装解决了数据类型解耦问题,提供了初始化、增删改查等完整接口,并自动处理XML类型所需的flush操作,为开发者提供了更便捷的用户首选项管理方案。
2025-06-15 09:29:34
792
原创 从零开始开发纯血鸿蒙应用之网络检测
本文详细介绍了如何在纯血鸿蒙应用中实现网络检测功能。使用@ohos.net.connection模块,可以获取设备网络状态:如获取默认网络的NetHandle实例,及其网络能力信息(包括连接状态、类型和速度等)。文章重点讲解了NetCap枚举值的7种网络能力判断标准,以及蜂窝/ WiFi等网络类型的识别方法。该功能特别适用于需要网络状态提示的场景,如无网时显示错误页面,以及在IoT场景判断设备直连状态。
2025-06-07 15:30:39
1309
原创 前沿探索之Kuikly框架
腾讯开源的Kuikly是一款基于Kotlin MultiPlatform的跨端开发框架,其UI描述采用函数式风格,通过attr和event闭包分离样式与事件逻辑。框架内置常用组件,支持观察者模式实现UI动态更新,并提供Module机制统一封装原生API能力。路由功能通过RouterModule实现参数传递,页面和组件均有明确的生命周期管理。整体设计借鉴了Flutter思想,同时保持Kotlin语言特性,为跨平台开发提供了新的解决方案。
2025-05-25 11:37:21
2052
原创 从零开始开发纯血鸿蒙应用之RSS阅读器
本文介绍了如何从零开始开发一个简易的纯血鸿蒙应用——RSS阅读器。文章首先回顾了如何在鸿蒙应用中解析XML格式的数据,并以CSDN博客的RSS链接为例进行了实践演示。接着,详细阐述了RSS阅读器的两个关键步骤:解析RSS源下发的XML文档以提取文章标题和链接,以及使用WebView在APP界面中渲染文章链接指向的网页。文章还介绍了如何改造起始页、新增文章列表页,并对文章列表页进行装饰美化,包括日期格式转换、摘要字数控制和背景图片的使用。最后,文章展示了如何通过点击文章列表项来展示文章详情。
2025-05-18 10:49:07
791
4
原创 从零开始开发纯血鸿蒙应用之XML解析
文章介绍了如何在鸿蒙应用开发中处理XML格式数据。虽然JSON是主流的数据传输格式,但XML在某些场景(如RSS订阅)中仍在使用。鸿蒙SDK提供了两个主要API来处理XML数据:@ohos.xml用于XML的解析与生成,@ohos.convertxml用于将XML转换为JavaScript对象。文章详细解析了这两个API的使用方法,并推荐使用ConvertXML.fastConvertToJSObject方法将XML数据转换为JavaScript对象,以便在ArkTS中更方便地处理数据。最后,文章通过解析C
2025-05-11 11:59:01
971
原创 从零开始开发纯血鸿蒙应用之NAPI
本文以数据在C/C++ 侧和 ArkTS 侧的流转为抓手,详略得当地介绍了 NAPI 在鸿蒙原生开发中的使用。
2025-05-05 20:10:56
1694
2
原创 从零开始开发纯血鸿蒙应用之无框截图
截图,或者说截屏,已经是每部手机必备的功能了,通常使用关机键+音量减键触发,只是这种截屏会将整个屏幕、包括消息提示横幅弹窗、任务栏状态……总而言之,就是屏幕所显示的一切内容一并截进去,如果你只是像截取指定应用的指定页面的指定区域的内容,这种系统截屏功能就无法满足了。在鸿蒙 NEXT 系统中,允许应用对自身进行组件截图,也就是局部区域截图,这就有效地避免截图时,将本不该截取的屏幕内容叶一并截取,不得不在截完图之后重新进行一番图片编辑、或者不得不重新截图。下面就让我来说明一下,如何在纯血鸿蒙应用中集成。
2025-03-16 12:51:13
1190
1
原创 从零开始开发纯血鸿蒙应用之网页浏览
本篇围绕如何在纯血鸿蒙应用中,实现网址打开操作,先后介绍了带参数的自定义构建函数的使用,调用系统浏览器的实现,以及如何封装 WebViewPage。值得重点学习的,理当首推封装 webViewPage 的部分,基于该部分,可以扩展地探索开发浏览器的实现方案。
2025-02-22 16:31:48
1672
原创 鸿蒙NEXT API使用指导之文件压缩和邮件创建
针对鸿蒙NEXT API中的 startAbilityByType 和 zlib 模块进行介绍,帮助读者夯实自身的鸿蒙开发能力。
2025-02-09 11:42:22
1415
原创 Hypium UIViewer 让 MacOS 与鸿蒙NEXT手机实现多屏协同
本篇介绍当电脑不是华为品牌时,如何利用Hypium 的 UIViewer,与搭载了鸿蒙NEXT系统的手机,进行多屏协同。
2025-01-11 15:22:47
2353
原创 从零开始开发纯血鸿蒙应用之处理外部文件
本篇记录纯血鸿蒙应用,如何进行外部文件的处理;利用 picker.DocumentViewPicker 主动处理外部文件,在 OnNewWant 函数中完成应用热启动状态时的外部文件处理,以及如何用AppStorage应对应用冷启动时的外部文件的FileUri 的透传。
2025-01-11 10:38:44
1779
2
原创 从零开始开发纯血鸿蒙应用之实现内部文件处理页
本篇记录 TxtEdit 内部文件处理页的实现,并在文中分享了鸿蒙组件 TextPicker 的使用,以及 Text 组件如何提供文本复制能力,和如何解决输入法键盘顶起布局的问题。
2025-01-04 17:11:06
1097
原创 从零开始开发纯血鸿蒙应用之实现起始页
本篇主要记录 TxtEdit 的起始页的实现,以及实现过程中涉及到的UI编程思路,并介绍了相关 HarmonyOS NEXT API 的使用,如使用系统分享面板进行文件分享。
2025-01-04 10:52:59
1379
原创 从零开始开发纯血鸿蒙应用之UI封装
本篇讲解如何进行UI封装,封装过程中应当具备什么样的原则和方式,如何凭借鸿蒙API现有的特性,去将上述原则和方式贯彻落实。
2024-12-29 09:25:12
1638
原创 从零开始开发纯血鸿蒙应用之日志模块实现
基本上,就是在对 ts 文件中的代码进行扩展和细化,向外提供日志配置器,初始化日志配置器,必须传入日志打印类型(hilog、file)、日志文件名、附加内容和日志级别,同时也向外提供了动态更新日志文件名和和日志级别的方法。不论是app,还是service,为了方便观察程序的运行状态,日志打印是少不了的,然而,日志打印不能单纯打印在控制台里,还应该打印到文件中,越是正式的工程项目,就越会用文件去记录应用日志,从而方便后续导出进行分析。如上所示,这是一个接口类,也即抽象类,是后续的三个日志策略类的父类。
2024-12-28 11:00:11
1546
原创 学习封装Flutter组件,看这篇就够了
本文将按步就章地指导有意学习flutter框架的开发者,如何进行自定义组件的封装。封装自定义组件前,应该先了解和掌握什么前提知识或技术,都会文章中进行指导。
2024-10-28 20:57:39
1906
原创 编程与哲学(2)——输出是为了更好的输入
1)学习编程语言先学习输出语句是为了后面更好的深入学习,即所谓的输出是为了更好的输出。2)学到的新东西要勤加使用,不断提高熟练度3)对Base64进行了简单学习4)了解Base64的UrlEndoer与Java.net.URLEncoder的区别。...
2022-07-24 12:00:02
815
原创 编程与哲学(1)
哲学作为万学的归宿,用哲学的视角去看待计算机,将有助于你对计算机理解得更深刻;用哲学的思想指导计算机学习,也将有助于你更科学地构建起计算机知识体系。
2022-07-09 13:40:03
1244
1
TA创建的收藏夹 TA关注的收藏夹
TA关注的人