当前位置: 首页 > news >正文

【案例实战】听歌学英语鸿蒙APP从零到上架全流程回顾

作为一位热衷于技术探索的开发者,去年我在CSDN上坚持输出了116篇关于鸿蒙的原创技术文章,不仅在郑州片区榜单中常保持前五名,还额外习得一项新技能。最令人兴奋的莫过于,我在玩鸿蒙的过程中,不知不觉竟上架了多款APP。“听歌学英语”项目,是第一个开启我的鸿蒙App之旅并成功上架的项目。

学习鸿蒙开发的初心

哈喽大家好!我是csdn猫哥,其实猫哥从来没有从头到尾的认认真真的学习一遍鸿蒙。猫哥的鸿蒙入门之路,都是玩出来的!

详情参见猫哥的另一篇博文:

鸿蒙HarmonyOS入门学习竟如此简单,如何三天上手鸿蒙应用开发

开发“听歌学英语”App的原因很简单,也是“玩”。我想尝试开发一个全新的应用,不仅能够帮助我学习鸿蒙开发技术,还能在这个过程中找到乐趣。鸿蒙系统作为中国自主研发的操作系统,其潜力巨大,吸引着我深入探索。而“听歌学英语”的概念既符合我的兴趣又具有一定的实用价值,这无疑为我的开发之旅提供了充足的动力。

可以在华为应用市场搜索"听歌学英语”并下载体验。在听歌曲的过程中学习英语。

在这里插入图片描述

接下来对听歌学英语的开发从零到上架做个总结回顾,分享给有需要的小伙伴。如果你有好的idea,就玩起来吧。入门鸿蒙也忒简单了吧,比Android开发容易太多。

开发过程中的挑战与收获

制定小目标

一开始,我没有设定一个完美的App,而是从简单的功能开始,逐步完善。这种“小步快跑”的开发策略,不仅让我保持了持续的热情,也避免了因一开始就追求完美而陷入困境。每完成一个小目标,都会有成就感,这激励着我不断前行。

“先完成再完美”,这是董老师说的。董老师是谁?就是那个长得像兵马俑,眼睛也很小,眯起来像一条线的人。就是那个常自嘲说,“你说我眼睛小,但我要说万物皆有裂痕,那是光照进来的地方”,你知道他不?

不要等, 不要等完美,没有完美的事情。高考给你三年准备,你能准备好吗?可能给你三十年,你都未必能准备好。要有先上场的勇气。

输出学习笔记

每次学习新知识或遇到问题时,我都会及时记录下来。这些笔记不仅帮助我巩固了所学知识,也为其他开发者提供了参考。在开发过程中,我也遇到了很多问题,比如网络请求的处理、UI布局的设计等。而通过不断的记录和总结,这些问题都得到了有效解决,同时也加深了我对鸿蒙开发的理解。比如我的博客,就是我的笔记本。

开发“听歌学英语”APP的过程

选择开发工具

我选择使用DevEco Studio进行鸿蒙应用的开发。DevEco Studio是专门为鸿蒙操作系统设计的集成开发环境,提供了丰富的工具和插件支持,可以大大提高开发效率。

制定项目需求

为了使项目具有一定的实用价值,我将“听歌学英语”App定位为一个寓教于乐的应用,用户可以通过听英文歌曲学习英语。项目的主要功能包括歌曲搜索、歌曲播放、歌词显示等。

设计UI界面

UI设计是开发过程中非常重要的一环。我根据项目需求,设计了简洁明了的用户界面。UI设计不仅可以提升用户体验,还可以让开发者在开发过程中更加专注于功能实现,而不会被过于复杂的UI设计所困扰。

实现网络接口

在HarmonyOS中,原始的ohos.net.http接口虽然功能强大,但在实际使用中却存在一些复杂性和局限性。这使得开发者在进行网络请求时需要写更多的代码,而且处理错误、配置请求等操作也较为繁琐。而鸿蒙平台下面的axios网络库,虽然很知名,但是不封装以下还是不好用。因为我想要一分钟写完一个接口,追求速度和效率。博主封装了axios网络库,让它变得更好用。

我封装的axios三方库地址:

https://ohpm.openharmony.cn/#/cn/detail/@nutpi%2Faxios

或者可以使用我封装的另外一个库,相比axios更加轻量化。

三方库地址:
https://ohpm.openharmony.cn/#/cn/detail/@yyz116%2Fh_request

一行代码写接口,接口如:
清晰直观。

//api.ets
import { http } from './utils/axiosClient';// 一行代码完成GET请求
const userList = await http.get('/api/users', { page: 1, size: 10 });// 一行代码完成POST请求
const newUser = await http.post('/api/users', { name: '张三', age: 25 });// 一行代码完成文件上传
const uploadResult = await http.uploadFile('/api/upload', file);// 一行代码完成文件下载
const downloadResult = await http.downloadFile('/api/download/file', '/local/path/file.jpg');

网络接口的实现往往是一个繁琐且重复的过程。为了提高开发效率,我借助了坚果派(nutpi.net)推出的JsonFormat插件。这款插件的主要功能是将JSON格式的数据直接转换为arkts的结构定义,让我们在编写接口时能够更加轻松快捷。

使用JsonFormat插件

JsonFormat插件可以极大地简化鸿蒙应用开发中的数据处理过程。通过这个插件,开发者只需简单操作,即可将JSON转化为对应的鸿蒙ets类,减少手动编写代码的时间,提高工作效率。具体步骤如下:

  1. 安装插件

    • 打开DevEco Studio,导航至Settings/Preferences > Plugins > Marketplace
    • 在搜索框中输入“JsonFormat”,然后进行安装。
  2. 使用插件

    • 拿到接口响应的JSON报文,粘贴到JsonFormat插件中。
    • 生成对应的arkts文件,直接使用在项目中。

开发功能模块

在完成网络接口的实现后,我开始开发各个功能模块。比如歌曲搜索模块,我通过调用第三方API获取歌曲信息,并使用JsonFormat插件将JSON数据转换为arkts类,方便后续处理。其他功能模块如歌曲播放、歌词显示等,也都是通过类似的方式逐步实现的。

上架应用

在完成所有的功能开发和测试后,我将“听歌学英语”App上架到了鸿蒙应用市场。这个过程相对简单,只需要按照应用市场的指南,准备相应的应用资料和图标,然后提交审核即可。审核通过后,我的第一个鸿蒙App就正式上线了,这对我来说是一个巨大的里程碑。

关于上架的各种秘钥详解及上架流程,可以参考博主的其他文章。

开源和分享

我一直坚持开源和分享,将“爱影家”鸿蒙版APP项目发布到了开源社区。通过开源,我可以让更多的人了解和使用我的项目,同时也能够从其他开发者的反馈中获得改进的机会。

“爱影家”鸿蒙免费观影APP开源项目地址参见博文地址:https://blog.csdn.net/yyz_1987/article/details/153418477

在这里插入图片描述

结语

通过这个项目,我深刻体会到:“几乎任何事情,都是越做越简单,越想越困难,越拖着越想放弃”。一个粗糙的开始,就是最好的开始。如果你想做一件事,可以立马开干,非常粗糙的开始,丢掉一切得失心去做!

希望我的这篇博客能帮助到那些正在尝试鸿蒙开发的开发者,让我们一起在开发的道路上越走越远!

参考资料

  1. JsonFormat插件:https://plugins.jetbrains.com/plugin/24930-jsonformat/edit/versions
  2. @nutpi/axios库:https://ohpm.openharmony.cn/#/cn/detail/@nutpi%2Faxios
http://www.dtcms.com/a/511750.html

相关文章:

  • 基于频域的数字盲水印blind-watermark
  • 三、网站开发使用软件环境中小企业建站的方法
  • 开源 Linux 服务器与中间件(八)数据库--MariaDB
  • Mac OS 安装 VirtualBox
  • wordpress卡密系统源码主题站长工具查询seo
  • 宁波快速建站公司附近的装修公司地点
  • 物联网运维中的自适应网络拓扑重构技术
  • jenkins介绍与部署
  • Attention:MHA->MQA->GQA->MLA
  • 拥塞控制原理
  • Flink Kafka 生产者原理与实现
  • 路由器和机顶盒的射频核心:深入解析PA、LNA、PHY与滤波器
  • Java----set
  • python编程网站推荐郑州云帆网站设计
  • 如何做论文网站给我一个用c 做的网站
  • 青岛网站排名公司自己的网站如何让百度收录
  • MQTT主题架构的艺术:从字符串拼接走向设计模式
  • i.MAX6ULL Linux LED 字符设备驱动代码分析
  • Linux中基数树的初始化
  • 4.3 二维数组
  • 【C语言实战(40)】C语言查找算法:从基础到实战的效率进阶
  • 洛谷 P2949 [USACO09OPEN] Work Scheduling G
  • 建站公司杭州南宁制作网站服务商
  • Deepseek-ocr论文精读
  • 【完整源码+数据集+部署教程】【文件&发票】发票信息提取系统源码&数据集全套:改进yolo11-ContextGuided
  • SpringBoot+Shiro+mybatis教务管理系统源码
  • 佛山个人制作网站公司手机百度下载免费安装
  • Git 项目开发核心指南:聚焦常用语法与完整流程
  • 【图像处理基石】遥感多光谱图像处理入门:从概念到实战(附Python代码)
  • Spring Boot项目中使用线程池并发插入6万条数据的线程池参数设置指南