HarmonyOS 3.1/4项目在DevEco Studio 5.0(HarmonyOS NEXT)版本下使用的问题

server/2024/11/28 2:26:33/

有读者在使用《鸿蒙HarmonyOS应用开发入门》书中的源码时,遇到了问题。本文总结问题的原因及解决方案。

有读者在使用《鸿蒙HarmonyOS应用开发入门》书中的源码时,遇到了问题。本文总结问题的原因及解决方案。

问题原因

这些问题,本质上是 DevEco Studio 版本不一致导致的。 《鸿蒙HarmonyOS应用开发入门》一书选用的是 DevEco Studio 版本为3.1,而读者使用的是 DevEco Studio 5.0(HarmonyOS NEXT),两者存在兼容性的问题。一些 API 的用法、包的位置发生了更改,甚至有些 API 不再推荐使用做了下线。

解决方案

因此,作为稳妥的方式是,将 学校用的是 DevEco Studio 5.0版本,改为 3.1。这样书中的示例可以完美运行。 DevEco Studio 3.1 下载地址为:https://developer.huawei.com/consumer/cn/archive/

另外一种方式是,按照 DevEco Studio 5.0 版本,对书中的示例,进行逐个更改,改为5.0 版本最新用法。但这样做,显然工作量很大,读者可以根据《HarmonyOS 3.1/4.0应用升级到HarmonyOS NEXT改动点》所列出的整改建议进行整改。

最后一种方案是建议采用《鸿蒙HarmonyOS应用开发入门》的升级版本《鸿蒙之光HarmonyOS NEXT原生应用开发入门》。《鸿蒙之光HarmonyOS NEXT原生应用开发入门》是完全采用DevEco Studio 5.0 版本进行编写的,书中的示例也是能在 DevEco Studio 5.0 版本下运行的。当然,《鸿蒙之光HarmonyOS NEXT原生应用开发入门》对前一版本中的一些不再推荐的API用法示例做了删除。

鸿蒙之光HarmonyOS NEXT原生应用开发入门》预计2024年12月面世,届时读者可以向出版社索取相关配套资料(包括源码和PPT), 或前往本书的开源社区(https://github.com/waylau/harmonyos-tutorial/)进行下载。

参考资料

  • 本文同步至:https://waylau.com/deveco-studio-5-develop-harmonyos-3/
  • 《跟老卫学HarmonyOS开发》 开源免费教程,https://github.com/waylau/harmonyos-tutorial
  • 鸿蒙HarmonyOS手机应用开发实战》(清华大学出版社)
  • 鸿蒙HarmonyOS应用开发从入门到精通战》(北京大学出版社)
  • 鸿蒙系统实战短视频App 从0到1掌握HarmonyOS”(https://coding.imooc.com/class/674.html)
  • 鸿蒙HarmonyOS应用开发入门》(清华大学出版社)
  • “2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”(https://coding.imooc.com/class/843.html)

http://www.ppmy.cn/server/145500.html

相关文章

windows10下3DGS环境配置

前言 3DGS(3D Gaussian Splatting)是由法国蔚蓝海岸大学的Kerbl, Bernhard等人在《3D Gaussian Splatting for Real-Time Radiance Field Rendering【SIGGRAPH 2023】》论文地址一文中提出了一种 极短训练时间呢就能达到最高视觉质量的方法,而且可以保证在高质量、实…

在 Taro 中实现系统主题适配:亮/暗模式

目录 背景实现方案方案一:CSS 变量 prefers-color-scheme 媒体查询什么是 prefers-color-scheme?代码示例 方案二:通过 JavaScript 监听系统主题切换 背景 用Taro开发的微信小程序,需求是页面的UI主题想要跟随手机系统的主题适配…

C语言:函数

1. 函数的基本概念与用途 函数是 C 语言程序的基本构建块。它将一个大型程序分解为较小的、可管理的部分,每个部分负责特定的任务,这样可以提高代码的可读性、可维护性和可复用性。例如,在一个涉及数学计算、输入输出处理和数据存储的复杂程…

Python学习——猜拳小游戏

import random player int(input(“请输入:剪刀 0,石头 1,布2”)) computer random.randint(0,2)# print(“玩家输入的是%d,电脑输入的是%d” %(player,computer)) 用于测试 if (player 0) and (computer 0) or (player 1) a…

SSL/TLS,SSL,TLS分别是什么

SSL/TLS,SSL,TLS分别是什么 SSL(Secure Sockets Layer,安全套接层) 定义与发展历程: SSL 是一种早期的网络安全协议,旨在为网络通信提供保密性、数据完整性和身份验证等安全保障。它最初由网景…

为什么DDoS防御很贵?

分布式拒绝服务攻击(DDoS攻击)是一种常见的网络安全威胁,通过大量恶意流量使目标服务器无法提供正常服务。DDoS防御是一项复杂且昂贵的服务,本文将详细探讨为什么DDoS防御如此昂贵,并提供一些实用的代码示例和解决方案…

Postman设置接口关联,实现参数化

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 postman设置接口关联 在实际的接口测试中,后一个接口经常需要用到前一个接口返回的结果, 从而让后一个接口能正常执行,这…

JVM类加载和垃圾回收算法详解

文章目录 JVM一、JVM运行流程1. JVM执行流程 二、JVM运行时数据区1. 程序计数器(线程私有)2. 虚拟机栈 (线程私有)3. 本地方法栈(线程私有)4. 堆(线程共享)5. 元空间(线程…