鸿蒙开发:资讯项目实战之项目初始化搭建

前言

本项目API>=13,本章内容很简单,有经验的开发者可以略过。

上篇文章,我们简单概述了此次资讯项目的框架以及代码架构设计,那么本篇文章,我们直接就进入到代码编写阶段,首先确定需要实现哪些模块,虽然说仿照一个今日头条,但是今日头条那么多功能,如果都一一实现完,时间和精力也确实跟不上,毕竟这个项目只用于学习,只要把相关的技术点涵盖到位便可。

我大概分了四个模块,首页资讯模块,视频模块,消息模块和我的模块,最终的效果呈现,目前找了一个资讯App原型,大致如下,最后呈现的效果也尽量贴近原型设计。

以上只是主要模块,而每个模块下又有很多的子模块,这个只能具体实现的时候再说,而对于一些特定的功能,比如轮播图,比如视频的上下滑动查看,虽然原型中没有,但在具体的项目中,也会进行具体实现。

万事开头难,第一步,创建项目,选择一个空的Ability即可,如何创建项目,这里就不多说了,如果您不会,建议看我之前分享的文章,或者查看官方视频或文档都行。

模块创建

在前言中,我们划分了四个模块,那么在创建好的项目,直接创建四个模块即可,类型选择动态共享包,为什么选择动态共享包,一是便于我们组件化运行,二是当有多个安装包需要资源共享时,也可利用HSP减少公共资源和代码重复打包。

点击创建好的项目,选中项目,右键new->Module,就是创建模块。

选择动态共享包Shared Library。

输入模块名字,四个模块,分为为首页模块home,视频模块video,消息模块message,我的模块mine;设备类型,根据自身需要进行选择。

一一创建完毕后,我们的项目,加上主模块entry,就存在了五个模块,效果如下:

虽然有很多模块,但是最终都是被entry进行依赖,而最终的入口也只有一个,当然了测试运行时候,每个模块都可以进行运行。

模块创建完成之后,我们就可以在主模块entry的oh-package.json5中进行依赖:

中间层(common)

为什么要有这个中间层?目的就是为了复用,当我们组件化拆分之后,每个模块都会有相同的功能调用,如网络请求,如资源获取,为了避免代码上的冗余,我们可以把一些公用的资源或者工具放到一起,这也就是中间层产生的原因。

当然了,中间层,也是需要具体问题具体分析,毕竟组件化是为了复用,有了中间层的存在,在日后的项目复用中,那么中间层也是需要复用的,如果你想实现纯粹的单一模块复用,也可以不使用这个中间层,优点是,便于引入,也便于在庞大项目中,给某些人单开某一模块的权限,缺点是代码冗余。

这里,我们选择中间层的模式开发,毕竟各模块之间不仅仅是资源上和工具的复用,也有数据传递的一个纽带作用,所以,我们继续创建一个common模块。

创建完成之后,让四个模块home、video、message、mine分别依赖common模块。

相关总结

目前来说,我们的资讯项目只是往前迈了很小的一步,仅仅实现了项目创建,步虽小,但概念性的知识很多,这也是这个项目的初衷,让大家不仅仅可以掌握日常的技术开发,也能让大家理解实际的项目开发知识。

下一篇文章,我们仍然不会涉及到代码编写,因为虽然我们已经创建好了各个模块,但是摆在眼前,仍然有一个问题存在,那就是,各个模块如何独立运行,这也是我们组件化开发的核心要素之一,如果模块不能独立运行,那就是模块化开发,而非真正意义的组件化开发。

下一篇,会阐述模块如何独立运行,运行包和动态共享包如何切换,请大家敬请期待!

本文标签:鸿蒙新闻资讯类应用

相关推荐
传奇开心果编程5 小时前
【Jetpack Compose娓娓道来】第29课:状态容器与UI事件建模——把“散装状态”变成“可穷举的契约”
android·kotlin·移动开发·android jetpack·ui框架·开发范式·声明式ui
五彩小白6 小时前
喵呜打卡项目总结
android·团队开发
古法安卓7 小时前
Android-GPU压测工具
android·java·android studio
xcLeigh9 小时前
KingbaseES数据库教程:初识数据库,从安装到跑通第一条SQL
android·数据库·sql·安装·数据库教程·kes
OH_TPC10 小时前
HarmonyOS APP开发---“动效君“UI动效素材库App,需要用到这个库
ui·华为·harmonyos·鸿蒙
TimeFine12 小时前
AI 编码工作流的设计(二)
android·ai编程
2401_8818283213 小时前
MySQL操作命令
android·mysql·adb
茶底世界之下13 小时前
雨夜街角裁成方图,人物与冷暖光还能共存吗?
ios
用户607097591490614 小时前
AOSP 14 OTA 升级指导(三):三条升级链路——Java API、自研 HAL 与 TR069
android
贾伟康14 小时前
HarmonyOS 3DGS 滤镜切换实战:效果创建、参数管理与资源释放
harmonyos·arkts·鸿蒙开发·技术实践·空间化体验