• [问题求助] HarmonyOS在APP内分享到微信不起作用
    系统:HarmonyOS版本: 3.0.0APP是用uniapp开发的,调用了系统的分享能力打开分享界面,传的文件是pdf格式的,选微信,分享不成功,其它机型都没有问题。plus.share.sendWithSystem({ type: 'image', pictures: [imgPath] },() => {console.log('成功')},(err) => {console.log('失败', err)})
  • [课程学习] HarmonyOS案例——掌上云音乐播放器
    项目的目标是实现一款掌上云音乐播放器。该播放器可以实现分类管理、云端存储、音频播放、歌曲文件上传、播放器封面上传设计等功能。
  • [课程学习] HarmonyOS案例——辞艺
    该项目是一个艺术品搜索应用,旨在帮助艺术从业者和学生快速找到感兴趣的艺术家和艺术品。该应用的主要框架包括每日推送、关键词搜索和数据汇总。
  • [课程学习] HarmonyOS案例——享睡
    该APP帮助每一位熬夜的人合理安排睡眠时间,帮忙人们拥有健康的睡眠。项目共分为4大模块:登录注册模块、Tonight今晚模块、Achievement成就模块、User模块。
  • [课程学习] HarmonyOS案例——车载导航组件
    该项目是设计一款基于HarmonyOS的车载导航组件。该组件基础面板总共分为四个板块,分别用来实现四个界面的功能。 四个界面的名称分别为主页,地图,音乐,电话。
  • [课程学习] HarmonyOS案例——吉时古色(2)
    “吉时古色”是一款基于HarmonyOS的计时器功能服务卡片,用户可以自定义倒计时时间,在服务卡片查看当前倒计时,不需要复杂的APP操作流程,借助卡片的“服务直达”功能,用户可以轻松计时,开启专注模式。其操作简单,能够满足考研学习等需要快速开启任务计时人群的需求。 同时,项目融入中国传统文化,每一次计时结束更换颜色,颜色取自中国传统色库,用户可以在主页查看颜色详细信息和相关诗词。 “吉时”谐音为“计时”,寓意每一段时光都是良辰吉时,值得被珍惜。吉时古色,代表每一次完成计时结束后会有全新的色彩,用户可以在传统之美中感受专注的乐趣。 基于华为的多端共享,此服务卡片还可用在智能大屏、手表端,不论用户身处何处,都可以一键开启计时,享受这“吉时古色”。代码压缩包较大,此附件中是压缩包2。要想使用,请分别下载各压缩的卷,最后统一解压。
  • [课程学习] HarmonyOS案例——吉时古色(1)
    “吉时古色”是一款基于HarmonyOS的计时器功能服务卡片,用户可以自定义倒计时时间,在服务卡片查看当前倒计时,不需要复杂的APP操作流程,借助卡片的“服务直达”功能,用户可以轻松计时,开启专注模式。其操作简单,能够满足考研学习等需要快速开启任务计时人群的需求。 同时,项目融入中国传统文化,每一次计时结束更换颜色,颜色取自中国传统色库,用户可以在主页查看颜色详细信息和相关诗词。 “吉时”谐音为“计时”,寓意每一段时光都是良辰吉时,值得被珍惜。吉时古色,代表每一次完成计时结束后会有全新的色彩,用户可以在传统之美中感受专注的乐趣。 基于华为的多端共享,此服务卡片还可用在智能大屏、手表端,不论用户身处何处,都可以一键开启计时,享受这“吉时古色”。代码压缩包较大,此附件中是压缩包1。要想使用,请分别下载各压缩的卷,最后统一解压。
  • [课程学习] HarmonyOS项目案例——查查词典服务卡片
    一款能够提供便捷、高效服务的查单词服务卡片,可以满足用户在学习外语时对于单词查询的即时需求。该项目充分利用了HarmonyOS原子化服务和页面交互的优势,为用户提供高效的单词速查服务体验。
  • [问题求助] ERROR: Failed :entry:default@SignHap...
    这个怎么解决?> hvigor ERROR: Failed :entry:default@SignHap...  > hvigor ERROR: Failed to find the incremental input file: C:\Users\velpr\.ohos\config\auto_debug_homework-tasklist-v2-master_top.handwer.homeworktasklist_30086000637469173.cer. > hvigor ERROR: BUILD FAILED in 414 ms 
  • [问题求助] PersistentStorage这个按着文档来折腾一天也不生效,请大佬帮忙看看
    我在Index页面上面这样放置,登录的时候修改了this.token,按文档意思应该是会自动持久化的,但当我关闭app重启打开,又显示token没有数据.试了很多次了,不知道是不是我用arkUI-X的缘故?环境是DevEco Studio 4.0 Release Build Version: 4.0.0.600, built on October 17, 2023ArkUI-X 1.0.0.0OpenHarmony SDK API 10ace build apk 生成的apk文件放在安卓手机安装的,因为我的DevEco Studio经常识别不到手机.
  • [问题求助] 鸿蒙系统怎么能修改libnfc-nxp.conf文件
    最近在适配linux nfc,现有日志打印的信息不够,需要修改libnfc-nxp.conf,但是手机里搜不到这个文件,不root的话有办法能修改吗
  • [问题求助] http.createHttp().request ,code 返回 为 0
    http 请求图片返回 requestImageCode():void { var imageURL = 'https://id1.cloud.huawei.com/CAS/static_rss/rss_12/IDMW/common/logos/HUAWEI.svg' http.createHttp().request(imageURL, (error, data) => { if (error){ console.error(`http reqeust failed with. Code: ${error.code}, message: ${error.message}`); } else { let code = data.responseCode; console.log(code.toString()) if (ResponseCode.ResponseCode.OK === code) { let res: any = data.result let imageSource = image.createImageSource(res); let options = { alphaType: 0, // 透明度 editable: false, // 是否可编辑 pixelFormat: 3, // 像素格式 scaleMode: 1, // 缩略值 size: { height: 100, width: 100} } // 创建图片大小 imageSource.createPixelMap(options).then((pixelMap) => { console.log('获取图片成功') this.image = pixelMap }) } } } ) }结果返回6 I A0c0d0/JSApp: app Log: clicked 6 I A0c0d0/JSApp: app Log: 0code 返回0 是什么意思请求权限放在 module.json5 "requestPermissions": [ { "name": "ohos.permission.INTERNET" } ],
  • [专题汇总] 12月份CodeArts板块技术干货合集,提前放送。
     随着鸿蒙系统的愈发壮大,鸿蒙知识的学习也就变得越发迫切。本月给大家带来的技术干货合集就包括鸿蒙,spring,springboot,java,nginx,redis等众多内容,希望可以帮到大家。  1.Centos搭建KMS(vlmcsd)激活服务器的步骤【转】 https://bbs.huaweicloud.com/forum/thread-0251137381864278028-1-1.html  2.鸿蒙极速入门(一)-HarmonyOS简介 https://bbs.huaweicloud.com/forum/thread-0217137149871563005-1-1.html  3.鸿蒙极速入门(二)-开发准备和HelloWorld https://bbs.huaweicloud.com/forum/thread-0212137150055432004-1-1.html  4.鸿蒙极速入门(三)-TypeScript语言简介 https://bbs.huaweicloud.com/forum/thread-0217137150099699006-1-1.html  5.鸿蒙极速入门(四)-通过登录Demo了解ArkTS https://bbs.huaweicloud.com/forum/thread-0212137150569231005-1-1.html  6.鸿蒙极速入门(五)-路由管理(Router) https://bbs.huaweicloud.com/forum/thread-0217137150812608007-1-1.html      7.HarmonyOS 实战项目 https://bbs.huaweicloud.com/forum/thread-0298137147742910003-1-1.html  8.HarmonyOS 高级特性 https://bbs.huaweicloud.com/forum/thread-0263137147693666005-1-1.html  9.HarmonyOS应用开发 https://bbs.huaweicloud.com/forum/thread-02125137147620736007-1-1.html  10.HarmonyOS UI 开发 https://bbs.huaweicloud.com/forum/thread-0251137147552748004-1-1.html  11.准备HarmonyOS开发环境 https://bbs.huaweicloud.com/forum/thread-0217137147386754003-1-1.html  12.Nginx服务器安装配置SSL证书流程(实现HTTPS安装) https://bbs.huaweicloud.com/forum/thread-0224137038725392014-1-1.html  13.几款值得选的SSH客户端软件 https://bbs.huaweicloud.com/forum/thread-02107137038433887013-1-1.html  14.8个站酷免费字体且可商用 不担心字体版权 https://bbs.huaweicloud.com/forum/thread-0235137038369347011-1-1.html  15.7个加速搜索引擎收录网站实用有效方法 https://bbs.huaweicloud.com/forum/thread-02112137038294122014-1-1.html  16. Java 算法篇-深入理解递归(递归实现:青蛙爬楼梯)-转载 https://bbs.huaweicloud.com/forum/thread-0213136969605169006-1-1.html  17.【内网穿透】搭建我的世界Java版服务器,公网远程联机-转载 https://bbs.huaweicloud.com/forum/thread-02112136969569637009-1-1.html  18.【Nginx篇】Nginx轻松上手-转载 https://bbs.huaweicloud.com/forum/thread-0213136969448107005-1-1.html  19.【SpringBoot(IDEA)+Vue(Vscode)前后端交互】-转载 https://bbs.huaweicloud.com/forum/thread-02107136969215321009-1-1.html  20.【SpringBoot】| SpringBoot 集成 Redis-转载 https://bbs.huaweicloud.com/forum/thread-0240136952804547006-1-1.html  21.基于SpringBoot的个人博客管理系统的设计与实现 毕业设计开题报告-转载 https://bbs.huaweicloud.com/forum/thread-02112136952724159004-1-1.html  22.【SpringBoot篇】Spring_Task定时任务框架-转载 https://bbs.huaweicloud.com/forum/thread-02127136952689543005-1-1.html  23.【SpringCloud】Eureka基于Ribbon负载均衡的调用链路流程分析-转载 https://bbs.huaweicloud.com/forum/thread-0224136952632959005-1-1.html  24. Spring Boot单元测试-转载 https://bbs.huaweicloud.com/forum/thread-0213136952529904002-1-1.html  25.【Springboot系列】SpringBoot整合Jpa-转载 https://bbs.huaweicloud.com/forum/thread-0240136952500264005-1-1.html  26. Spring Boot + MyBatis-Plus实现数据库读写分离 -转载 https://bbs.huaweicloud.com/forum/thread-02107136952426802006-1-1.html 
  • [技术干货] 鸿蒙极速入门(五)-路由管理(Router)
    页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。一、基础使用Router模块提供了两种跳转模式,分别是router.pushUrl()和router.replaceUrl()。这两种模式决定了目标页面是否会替换当前页。router.pushUrl():目标页面不会替换当前页,而是压入页面栈。这样可以保留当前页的状态,并且可以通过返回键或者调用router.back()方法返回到当前页。router.replaceUrl():目标页面会替换当前页,并销毁当前页。这样可以释放当前页的资源,并且无法返回到当前页。注意:页面栈的最大容量为32个页面。如果超过这个限制,可以调用router.clear()方法清空历史页面栈,释放内存空间。Router模块提供了两种实例模式,分别是Standard和Single。这两种模式决定了目标url是否会对应多个实例。Standard:多实例模式,也是默认情况下的跳转模式。目标页面会被添加到页面栈顶,无论栈中是否存在相同url的页面。Single:单实例模式。如果目标页面的url已经存在于页面栈中,则会将离栈顶最近的同url页面移动到栈顶,该页面成为新建页。如果目标页面的url在页面栈中不存在同url页面,则按照默认的多实例模式进行跳转。在使用页面路由Router相关功能之前,需要在代码中先导入Router模块。import router from '@ohos.router';跳转示例1.普通跳转function onJumpClick(): void { router.pushUrl({ url: 'pages/Detail' // 目标url }, router.RouterMode.Single, (err) => { if (err) { console.error(`Invoke pushUrl failed, code is ${err.code}, message is ${err.message}`); return; } console.info('Invoke pushUrl succeeded.'); });} 2.带跳转模式和跳转结果 比如从其他页面,跳转到登录页面(全局唯一)function onJumpClick(): void { router.pushUrl({ url: 'pages/Detail' // 目标url }, router.RouterMode.Single, (err) => { if (err) { console.error(`Invoke pushUrl failed, code is ${err.code}, message is ${err.message}`); return; } console.info('Invoke pushUrl succeeded.'); });} 3.替换原页面 比如从启动页面跳转到首页,同时需要销毁启动页function onJumpClick(): void { router.replaceUrl({ url: 'pages/Profile' // 目标url });} 4.带参数 在调用Router模块的方法时,添加一个params属性,并指定一个对象作为参数:class DataModelInfo { age: number;} class DataModel { id: number; info: DataModelInfo;} function onJumpClick(): void { // 在Home页面中 let paramsInfo: DataModel = { id: 123, info: { age: 20 } }; router.pushUrl({ url: 'pages/Detail', // 目标url params: paramsInfo // 添加params属性,传递自定义参数 }, (err) => { if (err) { console.error(`Invoke pushUrl failed, code is ${err.code}, message is ${err.message}`); return; } console.info('Invoke pushUrl succeeded.'); })} 在目标页面中,可以通过调用Router模块的getParams()方法来获取传递过来的参数。 const params = router.getParams(); // 获取传递过来的参数对象const id = params['id']; // 获取id属性的值const age = params['info'].age; // 获取age属性的值 页面返回 1.返回上一页router.back();2.返回到指定页面router.back({ url: 'pages/Home' // 指定url}); 3.返回到指定页面,并传递自定义参数信息。 router.back({ url: 'pages/Home', params: { info: '来自Home页' }}); 4.目标页面中,在需要获取参数的位置调用router.getParams()方法即可,例如在onPageShow()生命周期回调中: onPageShow() { const params = router.getParams(); // 获取传递过来的参数对象 const info = params['info']; // 获取info属性的值} 页面返回的特别说明 当使用router.back()方法返回到指定页面时,该页面会被重新压入栈顶,而原栈顶页面(包括)到指定页面(不包括)之间的所有页面栈都将被销毁。如果使用router.back()方法返回到原来的页面,原页面不会被重复创建,因此使用@State声明的变量不会重复声明,也不会触发页面的aboutToAppear()生命周期回调。如果需要在原页面中使用返回页面传递的自定义参数,可以在需要的位置进行参数解析。例如,在onPageShow()生命周期回调中进行参数解析。二、命名路由为了支持组件化,HarmonyOS支持多HAP机制和共享包机制在开发中为了跳转到共享包中的页面,可以使用router.pushNamedRoute()来实现,也就是命名路由的方式。示例在想要跳转到的共享包页面里,给@Entry修饰的自定义组件命名:// library/src/main/ets/pages/Index.ets// library为新建共享包自定义的名字@Entry({ routeName : 'myPage' })@Componentstruct MyComponent {} 配置成功后需要在需要跳转的页面中引入命名路由的页面: // entry/src/main/ets/pages/Index.etsimport router from '@ohos.router';import 'library/src/main/ets/pages/Index' // 引入共享包library中的命名路由页面 @Entry@Componentstruct Index { build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Text('Hello World') .fontSize(50) .fontWeight(FontWeight.Bold) .margin({ top: 20 }) .backgroundColor('#ccc') .onClick(() => { // 点击跳转到其他共享包中的页面 try { router.pushNamedRoute({ name: 'myPage', params: { data1: 'message', data2: { data3: [123, 456, 789] } } }) } catch (err) { console.error(`pushNamedRoute failed, code is ${err.code}, message is ${err.message}`); } }) } .width('100%') .height('100%') }} 其他 基于命名路由技术方案时,建议将路由URL统一放在一个文件中做管理。转载自https://www.cnblogs.com/anywherego/p/17790103.html
  • [技术干货] 鸿蒙极速入门(四)-通过登录Demo了解ArkTS
    ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。ArkTS在TS的基础上主要扩展了如下能力:基本语法:ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共同构成了UI开发的主体。状态管理:ArkTS提供了多维度的状态管理机制。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活的利用这些能力来实现数据和UI的联动渲染控制:ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的UI内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。以上就是官方对于ArkTS的介绍,对于初学者来说并不算友好,所以我们通过一个登录Demo来了解一下ArkTS。一、创建工程打开DevEco Studio,点击Create Project,或通过DevEco Studio的菜单File > New > Create Project下拉工程模版,在最后选择Login Ability创建完成后的源码目录:启动工程二、工程分析1.UIAbility管理应用的生命周期方法根据官方文档UIAbility组件生命周期中的描述,下面是一个应用的生命周期和对应的生命周期时序图:所以,登录demo中的EntryAbility.ts在onWindowStageCreate方法中通过windowStage.loadContent方法加载了登录页面作为启动页面: windowStage.loadContent("pages/LoginPage")2.页面分析pages和view文件夹通过目录可以发现,ArkTS将页面分为两类分别放在pages和view文件夹中:两者的区别:pages文件夹存放的是一个个独立的页面文件,每个文件有@Entry注解来告诉系统这是一个独立页面的入口,也有@Component注解说明是一个页面文件view文件夹存放的是一个个可以被复用的页面文件,每个文件只有@Component注解简单类比@Entry和@Component的文件就是iOS中的ViewController和Android中的Activity,@Component注解的文件就是iOS中的View和Android中的Fragment+View@Entry页面@Entry装饰的组件的生命周期:进入LoginPages.ets主页面:通过@Entry和@Component的页面才是独立页面页面使用struct作为定义关键字,不是class通过import关键字引入页面和自定义组件页面的内容必须通过build方法构建,与Flutter的写法类似如果不是自定义组件,只是构建一个小模块,比如标题内容的方法Title(),前面要使用@Builder注解进行说明@Component组件进入LoginComponent.ets子组件:与@Entry不一样的地方:通过@Component的页面是一个独立页面的子组件,无法独立展示它的生命周期受到父组件的管理三、状态管理和渲染控制与Flutter与SwifitUI类似,ArkTS也是通过State来进行状态管理和渲染控制,在上面的登录demo中的LoginComponent.ets中:通过@State定义了userName和password两个状态对象通过监听TextInput的onChange方法修改状态对象的值userName和password的值变更后,会自动触发Button的enable的渲染状态的变更四、官方文档通过上面的登录demo,对ArkTS有了一个基本了解,如果需要更进一步了解ArkTS,建议还是阅读官方文档:ArkTS官方文档地址转载自https://www.cnblogs.com/anywherego/p/17789931.html
总条数:45 到第
上滑加载中