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

HarmonyOS ArkTS 实战:实现一个校园校车时刻与预约应用

HarmonyOS ArkTS 实战:实现一个校园校车时刻与预约应用

项目效果

本文使用 HarmonyOS 和 ArkTS 实现一个校园校车时刻与预约应用。

应用可以查看校车线路和时刻表,预约座位,查看校车实时位置,设置到站提醒,并提供收藏线路、乘坐统计等功能。

项目使用 DevEco Studio 开发,适配 API 23 及以上版本。

运行效果

功能介绍

  • 校车线路查询
  • 时刻表查看
  • 座位预约
  • 实时位置
  • 到站提醒
  • 收藏线路
  • 乘坐记录
  • 余座显示
  • 站点列表
  • 乘坐统计

定义数据结构

interfaceBusStop{name:string;arriveTime:string;}interfaceBusRoute{id:number;name:string;direction:string;startTime:string;endTime:string;interval:number;price:number;totalSeats:number;reservedSeats:number;stops:BusStop[];isCollected:boolean;}interfaceReservation{id:number;routeId:number;routeName:string;date:string;time:string;startStop:string;endStop:string;seatNumber:string;status:string;}

初始化页面状态

@StateprivateselectedDate:string='2026-07-19';@StateprivatenextReserveId:number=5;

初始数据包含3条校车线路和预约记录。

预约座位

privatereserveSeat(routeId:number,time:string,start:string,end:string):void{constseat=String(Math.floor(Math.random()*40)+1)+'座';constres:Reservation={id:this.nextReserveId,routeId,routeName:'',date:this.selectedDate,time,startStop:start,endStop:end,seatNumber:seat,status:'已预约'};this.reservations=[res,...this.reservations];this.nextReserveId++;}

取消预约

privatecancelReservation(resId:number):void{this.reservations=this.reservations.map(r=>r.id===resId?{...r,status:'已取消'}:r);}

主题色:水鸭色#14B8A6,体现交通、出行、便捷的感觉。

统计数据

  • 已预约次数
  • 收藏线路数
  • 本月乘坐次数
  • 累计节省时间

页面设计说明

顶部统计卡片,线路列表,时刻表,预约弹窗,我的预约。线路使用卡片展示,余座用进度条显示。

SDK 配置

API 24。

运行项目

entry/src/main/ets/pages/Index.ets

项目总结

实现了校车时刻查询、座位预约、收藏、乘坐记录等功能。掌握了列表展示、预约流程、收藏功能、状态管理等。后续可加入实时定位、扫码乘车、校车拥挤度显示、拼车功能等。

http://www.jsqmd.com/news/1217080/

相关文章:

  • AM62L CBASS模块ISC与QoS配置实战:从寄存器手册到系统级设计
  • Android消息机制:Message与obtainMessage的核心区别与优化实践
  • Python基础语法入门与最佳实践指南
  • Python 爬虫实战:8 大反爬与健壮性技巧详解
  • Flask大型项目结构与认证系统最佳实践
  • 深度学习纯小白如何从零开始写第一篇论文?看完这篇豁然开朗!
  • Claude Fable 5与DeepSeek v4-flash:高性价比AI编程助手组合实践
  • STM32H7 SPI Flash编程与MDK下载算法实现
  • 宝珀五十噚维修保养专业服务解决方案权威公示(2026年7月最新) - 宝珀官方售后服务中心
  • 论文选题老旧、撞题严重?2026高校选题创新审核标准|PaperXie定制高分选题不翻车
  • 小红书批量下载神器:XHS-Downloader 终极使用指南
  • Flask用户认证实现与安全实践指南
  • STM32固件开发入门:从环境搭建到实战应用
  • 构建高效技术博客搜索系统的架构与实践
  • Python循环控制与range()函数高效应用指南
  • Houdini Engine for Unreal:程序化内容生成与实时引擎融合的十大效率革命
  • pointpillars的理论解读
  • 小红书批量下载神器:3分钟学会无水印内容保存的终极指南
  • 文献综述只会堆砌凑数?2026盲审综述扣分细则|PaperXie重构高分综述不踩雷
  • 美的BD/BC-143KMF(E)冰柜评测:100L容量选购指南与省电技巧
  • Transformer模型架构与自注意力机制深度解析
  • 2026 年当下,天津值得关注的圆钢圆棒齐头倒角设备制造厂家哪家好,揭秘!圆钢加工效率翻倍的秘密武器 - 实业推荐官【官方】
  • Silverlight/WPF/WP7/HTML5开发技术周报与实战指南
  • STM32与LD3320语音识别模块实战指南
  • ESP32显示功能开发指南:从基础到高级应用
  • 结对编程中测试驱动开发(TDD)的实践与优化
  • CentOS 7下Google Test安装与C++单元测试实践指南
  • Flask-Login用户认证实战:安全配置与最佳实践
  • Flask框架入门:从环境搭建到生产部署全指南
  • 2026新款氛围感绝美壁纸上新!高清无套路免费设为手机壁纸 - 时时资讯