纯血鸿蒙开发实战—如何开发出一个鸿蒙购物应用!
创始人
2024-11-05 18:37:17
0

HarmonyOS 支持应用以 Ability 为单位进行部署,Ability 可以分为 FA(Feature Ability)和 PA(Particle Ability)两种类型。

本篇 Codelab 将会使用 UI 组件开发出一个 HarmonyOS 购物应用。

HarmonyOS 为开发者提供了多种组件,每个组件通过对数据和方法的简单封装,实现独立的可视、可交互功能单元。开发者只需要关注实现逻辑,减少开发量。

01最终效果预览

我们最终会构建一个简易的购物应用。应用包含两级页面,分别是主页(商品浏览页签、购物车页签、我的页签)和商品详情页面。

两个页面都展示了丰富的 HarmonyOS UI 组件,包括:

  • 自定义弹窗容器(dialog)

  • 列表(list)

  • 滑动容器(swiper)

  • 页签组件(tabs)

  • 按钮组件(button)

  • 图表组件(chart)

  • 分隔器组件(divider)

  • 图片组件(image)

  • 交互式组件(input)

  • 跑马灯组件(marquee)

  • 菜单组件(menu)

  • 滑动选择器组件(picker)

  • 进度条组件(progress)

  • 评分条组件(rating)

  • 搜索框组件(search)

商品浏览页面和商品详情页面如下图:

02搭建 HarmonyOS 环境

步骤如下:

  • 安装 DevEco Studio 和 Node.js,详情请参考下载和安装软件。

  • 设置 DevEco Studio 开发环境,DevEco Studio 开发环境需要依赖于网络环境,需要连接上网络才能确保工具的正常使用。

可以根据如下两种情况来配置开发环境:

  • 如果可以直接访问 Internet,只需进行下载 HarmonyOS SDK 操作。

  • 如果网络不能直接访问 Internet,需要通过代理服务器才可以访问,请参考配置开发环境。

参考链接:

下载与安装软件:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/software_install-0000001053582415  配置开发环境:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/environment_config-0000001052902427 

说明:如需要在手机中运行程序,则需要提前申请证书,如使用模拟器可忽略。

准备密钥和证书请求文件:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404 

申请调试证书:

https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-harmonyapp-debugharmonyapp 

你可以通过如下两种方式完成本篇 Codelab:

  • 开启开发者模式的 HarmonyOS 真机。

  • DevEco Studio 中的手机模拟器(模拟器暂不支持分布式调试)。

03代码结构解读

本篇 Codelab 只对核心代码进行讲解,对于完整代码,我们会在 7 参考中提供下载方式。

接下来我们会用一小节来讲解整个工程的代码结构:

  • entry/src/main/js/default/common 文件夹存放一些公共的资源,比如图片。

  • entry/src/main/js/default/pages 文件夹存放 HarmonyOS JS 的页面,包含 css、hml、js 三类文件。

  • entry/src/main/config.json:配置文件。

04页面详细解析

接下来,我们就可以编写 css、hml、js 代码了。搜索框组件(search):用于提供用户搜索内容的输入区域,图片示例和代码如下:

{pageWord.searchKeyWord}}" value="{{pageWord.searchValue}}" focusable="true" @change="searchColumn" @submit="submitColumn">

页面展示:

图片

tab页签容器(tabs),图片示例和代码如下:

  • 的子组件(tab-bar):用来展示 tab 的标签区。

  • 的子组件(tab-content):用来展示 tab 的内容区。

注:用户可通过左右滑动或点击不同 tab 标签区,来显示不同 tab 标签区的内容区。

                { item in titileList}}">{{ item }}                            
{ item in contentList}}"> {lists}}">
{{$item.title}} {{$item.content}} {{$item.price}}
{$item.imgSrc}}" class="container-home-image">

不同标签页图标切换(点击应用的正下面的不同标签,页面会随之切换,被选中的页面图片变红),图片示例和代码如下:

{icon.buys}}" class="container-bottom-div-image" @click="clickBuy"> {icon.shoppingCarts}}" class="container-bottom-div-image" @click="clickShoppingCart"> {icon.mys}}" class="container-bottom-div-image" @click="clickMy">

购物车页面:用户可以把选中的商品加入购物车,然后可以选中想要拍下的商品,进行结算,图片示例和代码如下:

      { latestList }}" class="flex-direction-column">                        {$item.price}}" @change="addShopping">              {$item.imgSrc}}" class="container-shopping-list-image">                                {{$item.title}}                            {{$item.price}}                                     
          
                
 

我的页面布局,图片示例和代码如下:

      {{pageWord.myDeals}}                {transaction}}">              {$item.src}}" class="container-my-image">              {{$item.title}}{{$item.num}}          
      
 

页面路由跳转:用户点击商品浏览页面的任意商品,页面会跳转到商品详情页面,图片示例和代码如下:

detailPage() {      router.push({          uri: "pages/shoppingDetailsPage/shoppingDetailsPage"      })  }, 

滑动容器(swiper):用户可以在 swiper 组件上进行滑动 左右切换图片,或者 3s 自动滑动一次,图片示例和代码如下:

      { item in swiperList }}">          {item}}.png">      
 

跑马灯组件(marquee):展示一段单行滚动的文字,图片示例和代码如下:

图片

图片

图片

{scrollAmount}}" loop="{{loop}}" direction="{{marqueeDir}}" @bounce="onMarqueeBounce" @start="onMarqueeStart" @finish="onMarqueeFinish">              {{pageInfo.marqueeCustomData}}   
对样式进行动态双向绑定,可以修改"次日达"字体的颜色 ,图片示例和代码如下:

图片

图片

图片

{textColor}};" @click="changeColor">{{pageInfo.nextDayReach}}   export default {      data: {          textColor: '#FF3536',      }  } 

省市级联选择器和日期选择器以及 dialog 自定义弹窗容器的实现,图片示例和代码如下。

点击选择会弹出 Dialog,页面会有时间选择器和省市级联选择器。用户在弹出的时间选择器上选择日期,点击确定,页面上的数据也会同时改变。省市级联选择器,同理。

      
          {{pageInfo.selectRewardTime}}                        { newDate }}" hours="24" value="{{ newDate }}" @change="changeDate" @cancel="cancelDate">          
      
      
          {{pageInfo.selectRewardCity}}                        {cityList}}" value="{{selectCityList}}" @change="changeCity">          
      
 

评分弹框(rating),图片示例和代码如下:点击评分,会弹出带有评分弹框的 dialog 弹窗容器

                              {{pageInfo.softwareScore}}              {ratingNum}}" @change="ratingChange">              {{pageInfo.ratingReason}}              {pageInfo.ratingPlaceholder}}" value="{{ratingReason}}" @change="ratingReasonChange">                                {{pageInfo.confirm}}                                    {{pageInfo.cancel}}                                 

浏览量页面:chart 组件(曲线图可以实时动态更新数据),图片示例和代码如下: 

            {lineOps}}" datasets="{{lineData}}">   

点击立即抢购会弹出一个含有进度条(progress)的弹框 ,图片示例和代码如下:

{progress.percent}}" secondarypercent="{{progress.secondarypercent}}"> 

说明:以上所以代码仅 demo 演示参考使用。

05回顾和总结

本篇 Codelab 我们介绍了应用的主页面和详情页,两个页面都展示了丰富的 HarmonyOS UI 组件如下图:

另外,我们还把常用的一些组件运用到到该应用里面,比如:

图片示例如下:

06恭喜你

目前你已经成功完成了 Codelab 并且学到了:

最后

如果你想成为一名鸿蒙开发者,以下这些资料将是十分优质且有价值,让你的鸿蒙开发之路事半功倍!相对于网上那些碎片化的知识内容,这份学习资料的知识点更加系统化,更容易理解和记忆。

内容包含了:【OpenHarmony多媒体技术、Stage模型、ArkUI多端部署、分布式应用开发、音频、视频、WebGL、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

鸿蒙Next全套VIP学习资料←点击领取!(安全链接,放心点击

1.鸿蒙核心技术学习路线

2.大厂面试必问面试题

3.鸿蒙南向开发技术

 4.鸿蒙APP开发必备

 5.HarmonyOS Next 最新全套视频教程

 6.鸿蒙生态应用开发白皮书V2.0PDF

这份全套完整版的学习资料已经全部打包好,朋友们如果需要可以点击→鸿蒙Next全套VIP学习资料:免费领取(安全链接,放心点击

上一篇:<HarmonyOS第一课>习题答案,第 1~10 章节完整版

下一篇:HarmonyOS简介

相关内容

热门资讯

第3分钟了解(白金岛红拐弯)外... 第3分钟了解(白金岛红拐弯)外挂辅助安装(透视)2025新版总结(2021已更新)(哔哩哔哩);是一...
黑科技辅助!wepoke辅助工... 您好:wepoke辅助工具的使用教程这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发...
6分钟了解“宝宝吃吃吃有外挂吗... 6分钟了解“宝宝吃吃吃有外挂吗”详细透视开挂辅助器-哔哩哔哩;人气非常高,ai更新快且高清可以动的一...
第4分钟晓得!wejoker辅... 第4分钟晓得!wejoker辅助器怎么卖,智星德州菠萝安装,分享教程(有挂助手)-哔哩哔哩1、玩家可...
黑科技辅助!wpk后台管理系统... 黑科技辅助!wpk后台管理系统(透视)软件透明挂(固有存在有挂)-哔哩哔哩;1、完成wpk后台管理系...
5分钟了解(皖江欢乐麻将)外挂... 5分钟了解(皖江欢乐麻将)外挂透明挂辅助软件(辅助挂)攻略方法(2021已更新)(哔哩哔哩);1、不...
第4分钟了解“四川途游破解安装... 第4分钟了解“四川途游破解安装包”详细透视开挂辅助教程-哔哩哔哩;一、四川途游破解安装包有挂的是的,...
3分钟理解!wepoker透视... 3分钟理解!wepoker透视脚本是什么,We poker辅助器下载,2025新版教程(证实有挂)-...
第八分钟了解(Wepoke苹果... 【福星临门,好运相随】;第八分钟了解(Wepoke苹果)外挂透明挂辅助助手(透视)揭秘攻略(2023...
第十分钟了解“同城游逮狗腿辅助... 第十分钟了解“同城游逮狗腿辅助”详细透视开挂辅助攻略-哔哩哔哩;1、点击下载安装,同城游逮狗腿辅助插...