HarmonyOS
赋能最新的HarmonyOS技术和服务,携手开发者共建鸿蒙生态应用。
鸿花粉
鸿蒙应用开发者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】26.【端侧工程】关于我们拉起浏览器打开备案官网
APP必须工信部备案,且在页面明示备案号,点击可打开工信备案官方网站。2.拉起手机浏览器,跳转到指定链接的页面。原创 2025-06-08 18:26:18 · 585 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】25.【端侧工程】用户隐私政策可以云托管
APP上架必备的用户《隐私政策》,页面嵌入web组件打开H5网页,可以托管在华为云AGC空间,部署站点并映射域名即可。2.使用@ohos.web.webview 组件。原创 2025-06-08 18:15:13 · 201 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】24.【端侧工程】我的页面个人信息及退出登录
整个页面布局主要是三部分:是否登录显示个人信息、列表菜单项、退出按钮。1.build()布局代码。原创 2025-06-08 18:06:07 · 165 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】23.【端侧工程】云数据库查询我的病虫害历史记录
通过cloudDatabase.DatabaseZone.query方法查询云数据库中满足条件的数据记录。注意:数据记录的唯一性,根据当前登录的用户ID(手机号)。打开MyPestPage.ets文件。3.获取我的病虫害诊断历史记录。1.定义存储区、查询条件变量。原创 2025-06-08 14:55:07 · 139 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】22.【云侧工程】病虫害云数据库存储区、对象类型、数据分析
下一篇:使用cloudDatabase.DatabaseZone对象的upsert方法,保存数据到云数据库。3.自动生成客户端侧工程引用的Pest实体对象(生成的是ts文件)2.定义病虫害Pest对象类型。对象类型:可以理解为表结构;存储区:可以理解为数据库;数据:就是表中的记录;1.指定存储区NMSS。原创 2025-06-08 13:32:00 · 341 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】21.【端侧工程】AI诊断预测的病虫害图片上传云存储
图片上传流程:将图片复制到缓存区>>开始上传>>监听上传进度>>上传完成后在AGC云存储默认实例中可见图片。核心技术点:端云一体化开发的云存储模块。下一篇:图片上传成功完成后,保存病虫害其他信息到云数据库。定义云存储默认实例变量、上传回调函数类型。4.获取上传完成后的图片云路径。3.添加图片上传监听。原创 2025-06-08 10:49:09 · 145 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】20.【端侧工程】病虫害AI诊断预测功能实现
在华为云的AI ModelArts平台已部署图像分类模型的在线服务,且平台提供了在线服务的公网API。打开PestInfoPage.ets文件,在PestDiagnosisView组件内,AI诊断预测成功后,解析完接口返回的数据并在PestInfoView组件中显示。1.定义复制文件的方法,将拍照或相册选取的图片复制到APP当前运行的缓存区。3.构建请求体body,含需要上传的图片文件内容。并通过key值找到其对应的置信度value值。4.解析AI在线服务接口返回的JSON数据。原创 2025-06-08 09:17:06 · 225 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】19.【华为云】ModelArts搭建病虫害诊断AI在线服务
参考调用指南,把在线服务API集成到客户端农民叔叔鸿蒙应用或其他的APP(Android/iOS/Web/H5等)需要注意两点:①数据集上传在OBS对象存储;②数据集的每个标注样本不能少于20张图片。我这里准备了38种病虫害类型,及对应大量的图集,喂给大模型训练。下一篇:“AI诊断预测”按钮调用已部署的在线服务API。1.登录华为云AI开发平台ModelArts。开发空间>>自动学习>>图像分类>>创建项目。服务部署完成后,可以在线预测。2.进入控制台,创建项目。原创 2025-06-07 20:04:41 · 490 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】18.【端侧工程】病虫害详细信息页面保存按钮
该值是AGC云数据库记录的唯一标识,如果存在则说明已保存过的记录;否则为新的诊断结果,才需保存到云数据库。病虫害详细页面信息视图中需要增加“保存”按钮,把新增的AI诊断结果保存到AGC云数据库、云存储。为病虫害的实体对象添加一个新属性:AGID,AGID是否有值,决定是否显示保存按钮。原创 2025-06-07 00:45:40 · 145 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】17.【端侧工程】病虫害详细信息页面布局build实现
病虫害信息页面加载时,根据病虫害实体对象的属性pestname病虫名称是否空,判断是新的诊断,还是已有的病虫害,对应显示AI诊断视图或信息视图。为了宽度满屏显示病虫害图片,需要用到系统能力的设备屏幕属性display,获取当前设备的屏幕宽度,并赋值给Image.width。点击首页病虫害图集列表项,跳转至具体病虫害的详细信息页,内容包括:病虫害图片、农作物品名、病虫害名称、防治办法等。原创 2025-06-04 11:07:43 · 293 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】16.【端侧工程】病虫害AI诊断页面布局build实现
打开我们前面新建的PestInfoPage.ets文件,自定义一个AI诊断页面组件PestDiagnosisView,接收2个参数:病虫害实体对象和图片占满屏幕宽度。PestInfoPage页面中加载自定义的组件,定义手机设备宽度变量和图片宽度变量,并在aboutToAppear()方法内获取设备宽度及赋值。下一篇:自定义病虫害信息页面组件。原创 2025-06-04 01:36:30 · 246 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】15.【端侧工程】拉起手机摄像头拍照或从相册中选取图片
请参见官方资料:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/camera-overview。打开src>>main>>module.json5文件,在requestPermissions数组中添加ohos.permission.CAMERA。打开手机摄像头拍照或从相册选择图片后,跳转到病虫害详情页面,展示该图片及更多信息。核心技术:相机服务Camera Kit。二、定义拉起手机摄像头异步方法。三、定义打开手机相册异步方法。原创 2025-06-02 21:33:36 · 172 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】14.【端侧工程】首页病虫害自定义列表项组件PestListView,避免冗余代码
在HomePage.ets文件中定义一个组件PestListView,该组件必需的3个属性:病虫害图片、农作物名称、病虫害名称。以及接收外部输入参数病虫害实体PestModel。病虫害图片集可能有多个,数据源来自于云端API请求结果或本地数据库。在此我们本地定义一个数据集常量LIST_PEST_DATA。ets>>models>>新建ArkTS文件,命名为PestModel。2.定义病虫害实体类PestModel对象。1.自定义PestListView组件。原创 2025-06-02 20:58:23 · 160 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】13.【端侧工程】首页HomePage界面布局结构分析
下一篇:优化ListItem,避免重复代码,需自定义组件PestListView。关键容器组件:Scroll、Swiper、Grid、List。红色:列表项组件listitem+层叠组件stack。红色:上下滚动组件scroll。5.首页build()完整代码。蓝色:轮播组件swiper。黄色:列组件column。绿色:表格组件grid。黑色:列表组件list。原创 2025-06-01 23:17:09 · 191 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】12.【端侧工程】Tabs容器组件页签导航栏
四、新建2个页面,“首页”HomePage和“我的”MinePage,作为内容页添加到TabContent(){}。三、TabContent的tabBar属性使用我们自定义的TabBuilder。组件输入参数包括:导航按钮标题、选项索引、默认未选择图标、被选择图标。使用Tabs容器组件实现底部导航栏,切换内容页签。一、创建一个容器页面MainPage.ets。二、自定义tabBar组件。原创 2025-06-01 10:48:55 · 299 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】11.【端侧工程】获取手机短信验证码登录注册真机调试注意事项
相同的手机号重复登录时,提示登录失败:already sign in a user ,please sign out at first.1.初始化认证服务auth、CloudFoundationKit,以及配置首选项preferences。这是因为已登录的手机号未正常登出,auth不允许相同手机号重复登录。2.端云一体化工程调试目前只支持真机运行;完成以上初始化及配置,可正常获取短信验证码及登录成功!打开程序入口文件EntryAbility.ets,登出/退出功能在后续的“我的”页面实现。原创 2025-05-30 11:04:48 · 385 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】09.【端侧工程】用户手机号+短信验证码登录即注册
src>>main>>ets>>pages目录下新建登录页面LoginPage.ets,在登录页面引入auth。调用auth.requestVerifyCode给合法的手机号发送短信验证码。登录按钮调用auth.signIn方法,首次登录时创建用户(登录即注册)获取短信验证码时,需要判断用户输入的手机号是否合法(通过正则表达式)登录/注册成功后,在手机APP端保存auth返回的用户信息。间隔30秒才可以再次请求发送短信验证码,倒计时30秒。下一篇:通过用户首选项实现数据持久化。是否打勾同意《隐私协议》原创 2025-05-29 16:40:40 · 267 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】08.【端侧工程】开通手机号码认证服务及集成SDK
注意:认证服务满足多平台多语言版本,我们当前的应用是HarmonyOS平台、ArkTS语言、API12及以上的版本。在AGC平台->打开端云一体项目->项目设置->应用,下载最新的SDK配置文件。“不包含密钥”默认关闭,无需打开。登录AGC->进入之前创建的端云一体项目->认证服务,启用第一个“手机号码”认证方式。SDK安装成功后,在工程中oh_modules目录下可见最新版本的auth@1.0.4。在端侧工程中,右击entry目录,在终端中打开,到此,认证服务的开通和SDK的集成已完成。原创 2025-05-28 23:54:13 · 183 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】04.创建端云一体化工程项目
进入主开发界面,可见刚刚新建的工程。端侧工程会自动执行“ohpm install”,云侧工程会自动执行“npm install”,以分别下载端侧和云侧依赖。该应用尚未启用数据处理位置,点击跳转到AGC,管理设置默认中国站点,后续开发的云服务资源都将部署在中国站点。3.关联所属项目,并打开我们将使用到的开放能力“认证服务”、“云存储”和“云托管”。4.在APP ID列表中“发布”刚才新建的农民叔叔,之后才能在“我的应用”所见该应用。或在“我的应用”中新建发布,选取新建的APP ID,支持设备选“手机”。原创 2025-05-23 11:40:40 · 337 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】06.部署模板示例的云测工程到AGC云端
云数据库部署成功后,DevEco自动从AGC下载云数据库的schema文件至“\Application\AppScope\resources\rawfile\schema.json”路径,该文件是端侧工程API必须引入的配置文件。登录AGC,选择“证书、APP ID和Profile”,新增证书->选择第1步创建的证书请求文件.csr,提交成功后返回列表->右侧下载,将证书保存在本地。登录AGC,选择“证书、APP ID和Profile”,设备->添加设备,提交成功。原创 2025-05-23 11:02:31 · 498 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】05.端云一体化开发工程目录结构
主要包含端侧开发工程(Application)与云侧开发工程(CloudProgram)。应用模块,编译构建生成一个HAP。原创 2025-05-23 10:32:02 · 272 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】03.什么是端云一体化开发,有什么优势?
讲白了,就是前端程序员能写服务端代码;服务端程序员能写前端代码。使用同一个开发工具DevEco、同一个编程语言ArkTS,创建端云一体工程内置了通用开发模版和资源文件。开发人数少、人力成本低、沟通效率高。云侧工程为端侧应用提供云函数、云数据库、云存储等云端服务,借助Cloud Foundation Kit能力一键部署到AGC云端,自动弹性伸缩、免运维,开发者更聚焦在业务逻辑本身。开发过程中目前仅支持手机真机调试,不支持使用模拟器运行调试。原创 2025-05-23 10:19:18 · 212 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】02.核心功能操作路径及ModelArts AI图像识别技术
V1.0版本功能极其简单,核心功能只有“AI诊断分析”,用户路径是:注册/登录->手机拍照或从相册选取->调用AI图像识别能力诊断分析图片->ModelArts AI在线服务返回结果->APP展示病虫害结果->保存我的诊断记录。请关注我的后续文章,如何在华为ModelArts平台上部署AI图像识别模型在线服务。原创 2025-05-23 09:36:22 · 426 阅读 · 0 评论 -
#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】01.人工智能AI诊断分析农作物病虫害APP介绍
传统诊断病虫害的方法是人工目测,但这存在两个问题:一方面,农民并不能保证根据经验做出的判断完全正确;另一方面,由于没有专业人士及时到现场诊断,可能会使病情延误或加重。现在,使用AI图像识别技术可能会使这一问题得到改善。HarmonyOS SDK版本:HarmonyOS 5.0.0 Release SDK及以上,API 13及以上。DevEco Studio版本:DevEco Studio 5.0.0 Release及以上。HarmonyOS系统:HarmonyOS NEXT 5及以上。设备类型:华为手机。原创 2025-05-23 08:57:48 · 138 阅读 · 0 评论 -
【时间盒子】-【7.标题菜单栏】自定义任务页面顶部的标题菜单栏组件
media媒体资源的使用;float.json、color.json资源文件的使用;组件属性的定义。原创 2024-09-13 18:19:45 · 645 阅读 · 0 评论 -
【时间盒子】-【6.任务页面】在同一个页面新建、编辑任务
Tips:- Column组件的使用;- color.json资源文件的使用。原创 2024-09-12 10:19:50 · 678 阅读 · 0 评论 -
【HM】元服务卡片开发必须要搞明白的两张图表:数据交互和事件能力
message事件:卡片自身内部实现数据刷新,通过在FormExtensionAbility的生命周期函数onFormEvent内调用formProvider对象的updateForm方法。日程创建/修改成功后,调用formProvider对象的updateForm方法即可更新卡片数据。卡片提供方:UIAbility、FormExtensionAbility,简单理解就是日程的应用;卡片使用方:比如负一屏、应用商店、小艺搜索等展示卡片的地方(宿主);3、在日程应用创建/修改了日程,同步刷新卡片数据;原创 2024-07-21 19:09:08 · 466 阅读 · 0 评论 -
【HM】简单说明白:装饰器@State、@Prop、@Link、@Provide、@Consume修饰变量,@Watch监听变量状态发生变化
即被状态装饰器(@State、@Prop、@Link、@Provide、@Consume)修饰的变量,比如 @State str : string='';不同于上文提到的父子组件之间的状态传递,@Provide和@Consume实现跨层级传递,不受限父、子之间,还可以父、孙之间传递(跨过子组件)。应用于对状态变量的监听。父、子组件双向同步,子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。@State装饰的变量,是私有的,只能被组件内部访问,在声明时必须指定其类型和本地初始化。原创 2024-05-27 23:18:58 · 707 阅读 · 0 评论 -
【HM】UI设计师给的设计稿,标注单位是px,但鸿蒙开发者在布局页面时,元素大小位置的单位是vp,字体定位是fp。封装了一个单位转换公共类
鸿蒙开发工程师实现页面时,不能直接使用px的数值,大小位置单位应该使用vp,字体大小单位应该使用fp。否则在手机外的其他鸿蒙设备上,页面显示或排版偏差就比较大。* @param value 设计稿尺寸。* @param value 设计稿尺寸。* @param value 设计稿尺寸。* @param value 设计稿尺寸。原创 2024-05-21 22:53:19 · 1333 阅读 · 5 评论 -
【HM】DevEco Studio如何使用代码编程AI助手
IDE 代码编写智能AI助手/插件原创 2024-05-04 00:04:50 · 2605 阅读 · 3 评论 -
HM-ArkUI设计时,px/vp/fp 三者单位的区别
字体像素主要用于字体大小的计算。PX(Pixel):屏幕像素,是实际像素单位,用于表示屏幕上的像素点。1px代表手机屏幕上的一个像素点,常见的手机比如1080×1920 这个数值的单位都是px,由于px在不同手机上的大小不同,差别较大,适配性太差,不建议使用。它提供了一种灵活的方式来适应不同屏幕密度的显示效果,使元素在不同密度的设备上具有一致的视觉体量。在鸿蒙开发中,鸿蒙应用是支持一开多端,适配多设备端显示,不建议使用屏幕像素单位进行宽度和高度的计算,因为不同设备的屏幕像素密度不同,导致适配性较差。原创 2024-04-28 17:16:28 · 1168 阅读 · 1 评论
分享