- 博客(829)
- 资源 (148)
- 收藏
- 关注
原创 [Harmony]复制字符串到剪贴板
该代码片段展示了在OpenHarmony系统中实现文本复制到剪贴板的功能。通过@ohos.pasteboard模块创建包含纯文本的数据对象,并使用系统剪贴板存储数据。操作成功会显示"文本已复制"提示,失败则提示"复制失败"。需要在配置文件中声明ohos.permission.READ_PASTEBOARD权限才能读取剪贴板内容,但使用系统标准输入框等安全控件时无需此权限。
2025-11-28 15:28:46
205
原创 [Harmony]如何获取手机的UDID
获取鸿蒙手机UDID时出现"command not found:hdc"错误的解决方法:该问题是由于HDC工具未正确配置到系统PATH环境变量中导致的。解决方法是将HDC工具路径添加到环境变量:对于zsh shell,编辑~/.zshrc文件添加路径并执行source命令;对于Bash shell,则编辑~/.bashrc文件。配置完成后重启终端即可正常使用hdc命令获取UDID。完整路径为/Applications/DevEco-Studio.app/Contents/sdk/defa
2025-11-28 15:15:29
315
原创 [Harmony]Router跳转新页面和关闭回传数据
摘要:本文介绍了在HarmonyOS中使用router.pushUrl实现页面跳转及数据回传的方法。关键点包括:1) 使用router.pushUrl跳转页面;2) 在目标页面通过router.back返回并传参;3) 在onPageShow中接收回调数据。注意事项:组件需添加@Entry装饰器才能触发页面生命周期,且必须在pages.json中配置为路由页面。示例展示了MFRechargeAddMemberView通过pushUrl跳转到MFPayPasswordSetView,后者通过back方法返回支
2025-11-28 14:46:43
256
原创 [Harmony]跳转应用商店进行版本更新
摘要:该代码实现了一个HarmonyOS应用的版本更新功能,主要包括:1)获取当前应用版本信息;2)通过API检查版本更新;3)跳转华为应用商店更新页。其中jumpToAppStore方法使用UIAbilityContext跳转到应用商店,需真机调试,支持自定义包名测试(如微信com.tencent.wechat)。版本检查通过比较服务端返回的version_code与本地版本号判断是否需要更新,并支持强制更新配置。完整实现包含版本模型定义、网络请求处理和UI交互逻辑。(149字)
2025-11-28 12:21:54
841
原创 [Harmony]设置页面常亮让手机不熄屏
本文展示了一个鸿蒙应用屏保页面的屏幕常亮实现方案。通过CustomDialog组件,在aboutToAppear()生命周期中调用setKeepScreenOn(true)开启常亮,在aboutToDisappear()中关闭。核心方法通过window.getLastWindow获取窗口实例,使用setWindowKeepScreenOn控制屏幕状态,并添加了异常处理。该方案适用于需要保持屏幕唤醒的场景,如展示屏保内容时防止自动锁屏。
2025-11-28 11:59:42
199
原创 [Harmony]弹窗在自动退出登录后不关闭的问题
摘要:文章探讨了在HarmonyOS开发中处理弹窗关闭问题的三种解决方案。1) 对于CustomDialog弹窗,建议在aboutToDisappear生命周期中手动关闭弹窗;2) 对于PromptAction弹窗,同样需要在aboutToDisappear中关闭,并保存ComponentContent引用;3) 通过设置levelMode为EMBEDDED可使弹窗随页面关闭,但需注意API15+的兼容性问题。文中还提供了PromptUtils工具类,封装了弹窗的打开、关闭和更新操作,便于统一管理弹窗行为。
2025-11-28 11:45:14
333
原创 [Harmony]设置应用程序的颜色模式
摘要:应用程序开发需适配深色模式,否则可能被应用商店拒绝审核。代码示例展示了在Ability中设置颜色模式为浅色模式(COLOR_MODE_LIGHT)的方法。若未强制设置为浅色模式,则必须确保APP在深色模式下能正常显示。COLOR_MODE_NOT_SET表示未指定状态,开发者需要处理不同主题模式的样式适配问题。
2025-11-28 11:04:42
498
原创 [Harmony]应用图标资源需分层
摘要:应用图标需按规范配置为前景图(foreground.png)和背景图(background.png)两层,尺寸必须为1024px*1024px。需在AppScope/resources/base/media目录下放置对应图片,并在module.json5中使用"$media:layered_image"引用,禁止使用自定义图标路径。图标资源不得自行裁切圆角或添加内间距,必须通过HUAWEI DevEco Studio 5.0.5.315及以上版本处理。
2025-11-28 10:49:54
314
原创 [Harmony]Scroll嵌套滚动
摘要:本文介绍了nestedScroll属性的四种滚动模式(SELF_FIRST、PARENT_FIRST、PARALLEL、SELF_ONLY)及其应用场景,并通过会员详情页面的代码示例展示了实际用法。示例中父Scroll和子Scroll组件分别设置了不同的滚动模式:向前滚动时父组件优先(PARENT_FIRST),向后滚动时子组件优先(SELF_FIRST),实现了更灵活的滚动交互效果。
2025-11-27 18:08:46
342
原创 [Harmony]网络状态监听
本文介绍了HarmonyOS应用开发中的网络状态监听实现方法。首先在module.json5中声明了GET_NETWORK_INFO和INTERNET两个必要权限。然后详细解析了一个网络状态监听工具类NetworkMonitor的实现,通过创建NetConnection实例并注册监听事件,实现对网络连接状态(如可用、断开、不可用)和网络类型(蜂窝/WiFi/以太网)的实时监测。该工具类采用单例模式,提供添加/移除监听回调的方法,为开发者提供了完整的网络状态监控解决方案。最后示例展示了在窗口创建阶段
2025-06-04 14:28:03
547
原创 [Harmony]颜色初始化
这是一个颜色工具类ColorUtils,提供颜色格式转换功能。主要包含:1) fromHex方法处理十六进制颜色(支持#RRGGBB、#AARRGGBB等多种格式);2) fromRGBA方法创建RGBA颜色;3) toHexString将颜色转为十六进制字符串;4) toRGBA转换为RGBA对象。支持透明度处理,自动补全简写格式,并提供类型安全的颜色值转换。
2025-06-04 14:19:58
533
原创 [Harmony]实现JSON与类的双向转换
通过使用 reflect-metadata 和 class-transformer,可以实现 JSON 与类实例之间的双向转换。reflect-metadata 提供了元数据修饰符,如 @Reflect.metadata,用于为类、属性或方法附加元数据,支持获取属性类型、方法参数类型和返回类型。class-transformer 则提供了核心修饰符,如 @Expose 控制属性序列化/反序列化可见性,@Type 指定嵌套类型转换规则,@Transform 自定义值转换逻辑。通过定义基类 BaseModel
2025-05-22 18:39:42
939
原创 [Harmony]网络请求
本文介绍了如何在OpenHarmony系统中使用OHPM安装@ohos/axios依赖,并配置网络权限。接着,文章详细展示了如何对axios进行二次封装,创建一个HttpService类,提供GET和POST请求的统一接口,并处理错误和请求配置。封装类支持不同环境的API地址配置,并提供了公共参数的处理方法。最后,文章通过一个登录功能的示例,展示了如何使用封装后的HttpService进行网络请求,并处理响应数据。
2025-05-22 15:32:32
472
原创 [Harmony]自定义Toast
该代码定义了一个Toast类,用于在应用中显示提示信息。Toast类包含两个静态方法:show和showWithOffset。show方法用于显示基础Toast,接受提示内容和显示时长(默认1500毫秒)作为参数。showWithOffset方法用于显示带垂直偏移量的Toast,接受提示内容和偏移量(默认50%)作为参数。两个方法在显示前都会通过isBlank函数检查提示内容是否为空或仅包含空白字符。isBlank函数用于判断字符串是否为空或仅包含空白字符。代码通过promptAction.showToas
2025-05-22 15:16:17
207
原创 [Harmony]模拟器抓包
Charles是一款常用的网络抓包工具,适用于iOS和Android设备。对于iOS设备,用户可以通过Mac电脑的网络管理配置Charles代理,而Android模拟器则可以在模拟器的网络代理设置中手动配置。对于真机,需要安装并信任Charles的CA证书。具体步骤包括从Charles获取代理地址和端口,然后在设备或模拟器中配置网络代理。通过这些步骤,用户可以成功抓取HTTPS接口的数据包。
2025-05-22 10:39:38
372
原创 [Harmony]WebView基本用法
在module.json5中申请网络权限,通过requestPermissions字段指定ohos.permission.INTERNET权限,并设置使用场景为始终可用。在跳转至WebView时,通过router.pushUrl传递网页地址和标题参数。WebView组件通过aboutToAppear生命周期接收路由参数,并加载指定网页。页面包含导航栏,支持返回操作,并显示网页加载状态。整体流程实现了网络权限申请、参数传递及WebView页面展示。
2025-05-22 09:32:27
478
原创 [Harmony]自定义导航栏
本文介绍了两种自定义导航栏的实现方案,并提供了获取状态栏高度的工具类和使用示例。方案一通过CustomNavigationBar组件实现导航栏,包含返回按钮、Logo和标题,支持动态调整高度。方案二在方案一的基础上增加了状态栏占位区域,并支持全屏模式,但需注意页面底部可能超出屏幕,需手动设置margin。工具类DevicesUtil用于获取状态栏高度,支持物理像素与虚拟像素的转换。使用示例展示了如何在协议页面中应用自定义导航栏,并处理页面跳转和参数传递。两种方案均适用于不同场景,开发者可根据需求选择。
2025-05-21 09:40:58
409
原创 [Harmony]获取设备参数
DevicesUtil 是一个用于获取设备信息的工具类,支持获取屏幕宽度、高度、状态栏高度、导航栏高度、刘海高度、设备型号、系统版本号等信息。通过 display 模块获取屏幕的物理像素,并使用 pxToVp 方法将其转换为虚拟像素(vp),便于布局。状态栏、导航栏和刘海高度的获取通过 window.getWindowAvoidArea 实现,支持返回物理像素或虚拟像素。设备信息如设备类型、品牌、型号、系统版本等通过 deviceInfo 模块获取。此外,还支持获取系统语言和格式化语言名称。
2025-05-20 15:13:45
556
原创 [Harmony]大文件持久化
在开发过程中,首先需要在module.json5文件中添加权限ohos.permission.READ_WRITE_USER_FILE,以允许读写用户数据,并在string.json中定义权限使用原因。接着,封装了一个大文件数据持久化工具MFLargeDataStorage,使用@ohos.file.fs模块实现文件的读写操作,支持保存和加载JSON格式的用户数据。最后,通过示例展示了如何在应用中使用该工具,包括设置上下文、保存用户数据以及加载并输出数据。整个过程确保了数据的安全存储与高效访问。
2025-05-15 17:43:49
359
原创 [Harmony]获取资源文件中.txt文件中的字符串
文章摘要:本文介绍了如何通过UserDataManager类从src/main/resources/rawfile/userInfo.txt文件中读取JSON字符串。UserDataManager类使用getRawFileContent方法获取文件内容,并通过buffer模块将其转换为UTF-8格式的字符串。示例代码展示了如何在Index组件中调用getTextFromResource方法,并在点击按钮时输出文件中的JSON字符串。该方法适用于在应用中动态读取和解析资源文件。
2025-05-15 17:17:49
339
原创 [Harmony]封装一个可视化的数据持久化工具
本文介绍了在HarmonyOS应用中如何添加权限、封装数据持久化工具及其使用示例。首先,在module.json5文件中声明应用所需的分布式数据同步权限,并配置使用场景。接着,封装了一个基于@ohos.data.preferences的可视化数据持久化工具MFStorageManager,支持初始化、获取、更新和选择性清除缓存数据等功能。工具类中还定义了一个自定义的ConsoleLog类,用于在控制台输出日志时添加前缀。最后,通过一个示例展示了如何在页面中使用MFStorageManager进行用户ID的设
2025-05-15 12:58:06
587
原创 [Error]DevEco新建一个空项目时报错Process finished with exit code 255
目录及其所有子目录的所有权更改为当前用户。文件夹中创建文件或目录。在执行过程中需要访问。
2025-04-23 09:44:29
544
原创 [Swift]Xcode模拟器无法请求http接口问题
现在我在Xcode16.3上,这种设置方式在真机上能请求http(应该是设备开启了开发者模式),但在模拟器上请求http是被拒绝的。,因为它不允许所有不安全的连接,但例外列表允许连接到一些没有 HTTPS 的域。这样模拟器上就能正常请求http接口了。默认限制了非 HTTPS 请求。
2025-04-19 22:18:37
1013
原创 [Swift]pod install成功后运行项目报错问题error: Sandbox: bash(84760) deny(1)
它主要与 Xcode 的脚本执行环境有关,目的是提高构建脚本的安全性,防止脚本对系统或文件进行未经授权的操作。在Xcode中,前往项目的“Build Settings”部分,将属性设置。ENABLE_USER_SCRIPT_SANDBOXING 默认值。在 Swift 或 Xcode 项目中,pod install成功后运行报错。
2025-04-19 12:20:28
906
原创 [Git]克隆仓库报错warning: remote HEAD refers to nonexistent ref, unable to checkout
从远程仓库clone项目,报错warning: remote HEAD refers to nonexistent ref, unable to checkout,只拉取到了隐藏.git文件夹。没有列出任何分支,说明远程仓库确实是空的,或者没有任何有效的分支。如果远程仓库有分支,你可以手动切换到一个有效的分支。注意,这里用git branch获取不到分支明显。这将会切换到你选择的分支并检出代码。切换分支后,重新拉取项目就可以了。如果远程仓库的默认分支是。
2025-03-02 12:20:58
535
原创 [Android]浏览器下载的apk文件无法识别无法安装问题
在Android电话机上,用浏览器下载apk进行版本更新,出现下载文件没被识别为apk,导致无法安装问题。正常识别的apk文件前会有个Android默认图标,识别不了的时候前面是个文件标识。必须要使用有域名的链接来进行下载,像之前使用华为云的地址就导致下载后文件不识别。注意:使用华为云的链接在手机端是能正常下载安装的,估计是浏览器不一样的问题。
2025-02-21 14:31:17
1203
原创 [Android]DialogLifeCycle禁止点击背景关闭弹窗
在 Kotlin 中,可以通过设置 Dialog 的 setCanceledOnTouchOutside 方法来避免点击弹窗之外的背景而关闭弹窗。您可以在 DialogLifeCycle 的 show 方法中设置这一属性。
2025-02-21 11:52:51
355
原创 [Android]如何在代码中访问LayoutParams修改layout_weight?
要在 `yearWheelView` 中修改 `layout_weight` 属性,您可以直接访问其布局参数(LayoutParams)并设置新的 `layout_weight` 值。代码如下,如何在代码中修改NumberWheelView的layout_weight?
2025-02-21 11:42:18
377
原创 [Android]App生命周期
// APP生命周期) {// 可选:在 Activity 创建时执行任务// 应用进入前台NSLog("应用进入前台, App has entered the foreground")// 发送广播通知// 可选:在 Activity 恢复时执行任务// 可选:在 Activity 暂停时执行任务// 应用进入后台NSLog("应用进入后台, App has entered the background")// 可选:在保存 Activity 状态时执行任务。
2025-02-21 11:35:21
425
原创 [Android]应用内更新问题
从 Android 11 开始,即使应用程序请求了 WRITE_EXTERNAL_STORAGE 权限,系统也会将其视为 READ_EXTERNAL_STORAGE 权限。因此,在 Android 11 及更高版本中,应用程序将无法直接写入外部存储,而必须通过其他方式来访问共享文件系统。因此,从 Android 11 开始,开发者需要使用更安全的 Scoped Storage 或其他适当的方式来处理文件访问,以兼容最新的 Android 版本。
2025-02-21 11:17:09
490
原创 [Android]AppCompatEditText限制最多只能输入两位小数
要限制 AppCompatEditText 只能输入两位小数,可以使用 TextWatcher 来实时监控用户输入,并在超出限制时进行处理。:在 XML 布局中定义 AppCompatEditText,如你所示。:在代码中为该 AppCompatEditText 添加 TextWatcher,以便在用户输入时进行验证和格式化。
2025-02-21 10:53:14
575
上传到阿里云OSS的图片处理
2019-01-23
GAHomeDemo.zip
2019-07-10
12.0 (16A366)
2018-09-28
GAEditDemo.zip
2019-07-16
MasonryDemo
2018-07-26
从控制器中分离出View
2018-10-10
GAAVPlayerViewControllerDemo.zip
2020-01-22
UIViewController+Present.zip
2019-11-01
UIView+BorderLine.zip
2019-10-26
UIView+AZGradient.zip
2019-10-28
EmptyDataSet-demo.zip
2019-10-30
NSString+FileSize.zip
2019-10-31
UITextView+Placeholder.zip
2019-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅