2024年全国职业院校技能大赛移动应用设计与开发赛项(高职组) 竞赛试题(09 卷)

2024 年全国职业院校技能大赛 移动应用设计与开发赛项(高等职业教育组) 竞赛试题(09 卷)

移动应用开发大赛交流裙:958892296
微信公众号可关注:鹏璃安全


竞赛说明

一、竞赛主题
21 世纪以来,随着各项科技迅猛发展,多元化技术革命创新正在给我们的衣食住行,带来全新的数字人工智能体验,各行各业都搭乘着技术产业的转型升级,迎来高速发展时期。“十四五”规划和党的二十大强调了推动战略性新兴产业发展的重要性,战略性新兴产业包 括新一代信息技术等九大产业,是引导未来经济社会发展的重要力量。
在数字化时代,移动终端已经渗透到各个行业和生活场景中,如手机、智能电视、可穿戴设备、车载大屏、医疗设备等。通过车主手机 App、中控大屏移动终端 App、智能充电(家用版 App 和商用版小程序)实现跨移动多终端的信息共享和交换,构建了一个移动跨平台应用开发生态系统。
二、竞赛内容和时长
比赛时间为 8 小时,考核“产品原型设计”“移动应用开发”“应用部署测试”三个模块,具体如下表所示:
在这里插入图片描述
三、竞赛成果物提交
参赛选手根据分配的账号登录系统,在竞赛结束前分别将模块一、模块二、模块三的成果物上传并提交至竞赛服务器。

四、竞赛注意事项
提交、部署的文档、原型、代码等资源内容中不能填写与选手相关的信息,如工位号、姓名、院校名。如出现上述标记,本模块成绩按照零分处理。

模块一 产品原型设计

一、模块考核点
模块时长:2 小时模块分值:25 分
本模块以产品原型设计为目标,基于移动互联网生态平台背景, 围绕车辆销售 4S 店官网、车主 App、中控大屏、智能充电家用版 App 和智能充电商用版小程序,对产品进行理解、分析,编制规范的需求规格说明书,熟练使用 UI 设计软件进行产品原型设计,绘制出符合业务逻辑和人体工学的高保真产品原型图,为后续的产品开发和优化奠定坚实的基础。
二、任务要求
1.使用给定的“需求规格说明书(模板).docx”和相关软件,进行需求分析文档编制,编制对应业务用例图、流程图/活动图、时序图和模块概要设计说明。
2.使用原型设计工具(如 Photoshop、Axure RP 或 Adobe XD 原型设计工具二选一即可)创建“产品原型”项目,并进行高保真原型绘制,使之符合移动应用 UI 设计规范,同时实现原型界面之间交互功能。
软件原型绘制时,界面文件命名规范,各界面尺寸如下表:

序号应用操作系统屏幕尺寸屏幕分辨率应用名称
1车主 AppAndroid 手机6.0 英寸及以上1080×2340CarOwners.apk
2中控大屏包括仪表屏、主屏、副屏Android Pad12.3 英寸及以上15.6 英寸及以上15.6 英寸及以上1920×7201920×10801920×1080DIC.apk IVIZTaskX.apkIVIFTaskX.apk
3家用充电 App鸿蒙 手机6.6 英寸及以上1280×2700Charge.hap
4智能充电商用版小程序小程序(微信、阿里等)6.6 英寸及以上1280×2700dist2(目录)

(2)当内容超出高度区域时,设置滚动区域来显示内容。
(3)画板要对齐,界面版式布局合理、美观,内容完整;同样功能请复用样式,避免一种功能、两种样式的情况。
(4)原型要有交互设计内容,用户体验良好。检查存在的漏洞,防止出现异常流程和内容状态。
3.本模块竞赛结束前,选手将上述成果物“需求规格说明书.docx” 和“产品原型.rp”(或“产品原型.xd”)两个文件添加到“产品原型设计.zip”压缩包内,并提交压缩包文件。裁判评分以提交内容作为依据。
三、竞赛任务
参赛选手根据客户提供的任务需求描述,按照模块一的任务要求, 完成“需求规格说明书.docx”撰写,以及“产品原型.rp”或“产品原型.xd”设计。
任务 1:绘制“右转向视频显示”模块界面原型(5 分)
【任务说明】
1.车辆中控大屏开启,车辆打开右转向时,主屏显示 360 度全景App 界面,实现 360 度全景右转向 App 界面,界面分为影像和功能区上下两部分。
(1)影像区域占屏幕高度 80%,画面分为左右两个部分。画面左侧显示汽车右转向部分,显示车右方视频影像,并在视频前方显示绿色的右转辅助线。画面右侧显示 360 度全景实时影像,影像左侧显示设备左摄像头影像、右侧显示设备右摄像头影像、上部分显示设备前摄像头影像、下部分显示设备后摄像头影像、中间显示汽车贴图模拟真实效果,摄像头画面方向统一以汽车贴图为中心的 360 度全景影像(梯形图像拼接)。
(2)底部功能区占屏幕高度 20%。左侧显示两个图标,依次排开为【专注】【关闭】。点击【专注】出现上拉列表:前、后、左、右、360 度,点击五个选项后影像部分显示对应摄像头画面。
任务 2:绘制“仪表盘”和“主屏”媒体播放界面原型 (4 分)
【任务说明】
1.实现中控大屏仪表屏媒体播放界面和中控大屏主屏的媒体播放App 界面。
(1)中控大屏仪表屏媒体播放界面,左侧部分显示汽车转数表,右侧部分显示汽车时速表,转数表和时速表均为圆形,中间显示媒体播放列表,列表项包括歌曲名和歌手。
(2)中控大屏主屏媒体播放界面左侧显示切换栏,包括音乐、发现、我的列表、详细信息和设置,首次进入左侧为音乐功能,右侧音乐详细信息。
1)音乐右侧显示音乐列表,列表项包括歌曲名、歌手和歌曲时间。
2)发现右侧上面显示搜索栏,可以通过搜索栏进行歌曲搜索, 输入歌名,点击搜索下面展示歌曲列表项,列表项包括歌曲名、歌手和歌曲时间。
3)我的列表右侧显示我收藏的音乐列表信息,列表项包括歌曲名、歌手和歌曲时间。
4)详细信息右侧显示歌曲名称、歌手名称、歌曲海报、音乐进度条和【收藏】按钮。
5)设置右侧显示音量调节进度条,可以左右拉,进行音量调节。

任务 3:绘制“仪表盘”和“主屏”天气界面原型(4 分)
【任务说明】
1.实现中控大屏仪表屏的天气界面和中控大屏主屏的天气 App界面。

(1)中控大屏仪表屏天气界面,左侧部分显示汽车转数表,右侧部分显示汽车时速表,转数表和时速表均为圆形,中间显示天气信息,包括当前城市名、天气(晴天、多云、雨天、雪天等)、当前温度、最高温度和最低温度。
(2)中控大屏主屏天气 App 界面,顶部显示当前位置区域、当前温度、当前天气(晴天、多云、雨天、雪天等)、最高气温和最低气温,中间显示湿度、风度和空气质量,底部显示未来五小时的天气预报。
任务 4:绘制“车辆信息”模块界面原型(4 分)
【任务说明】
1.车辆通电启动后,在中控大屏主屏中,点击用户中心,进入车辆信息模块主界面,该模块分为 7 部分:基本信息、电动机信息、电池信息、车身信息、底盘/转向信息、车轮/制动信息、胎压监测,并以卡片的形式呈现。
(1)基本信息:点击【基本信息】进入基本信息界面,左上角
【返回】可跳转车辆信息主界面。以列表形式显示车主姓名、车辆品牌、车架号、制造国、制造厂商、制造年月、整车型号、车辆识别代号(VIN)、最大设计总质量、核载人数、最高车速、百公里加速 12 项信息。
(2)电动机信息:点击【电动机信息】进入电动机信息界面, 左上角【返回】可跳转车辆信息主界面。以列表形式显示总功率、总扭矩、前电动机最大功率、前电动机最大扭矩、后电动机最大功率、后电动机最大扭矩、纯电续航里程、电机结构、电机工作原理、电机布局、电机型号、电机峰值功等 12 项信息。
(3)电池信息:点击【电池信息】进入电池信息界面,左上角
【返回】可跳转车辆信息主界面。以列表形式显示电池容量、电池品牌、百公里耗电量、电池冷却方式、电池能量密度、快充时间、快充电量、动力电池系统额定电压、动力电池系统额定容量 9 项信息。
(4)车身信息:点击【车身信息】进入车身信息界面,左上角
【返回】可跳转车辆信息主界面。以列表形式显示长宽高、轴距、前后轮距、整备质量、行李厢容积 5 项信息。
(5)底盘/转向信息:点击【底盘/转向信息】进入底盘/转向信息界面,左上角【返回】可跳转车辆信息主界面。以列表形式显示驱动形式、前悬挂类型、后悬挂类型、转向助力形式 4 项信息。
(6)车轮/制动信息:点击【车轮/制动信息】进入车轮/制动信息界面,左上角【返回】可跳转车辆信息主界面。以列表形式显示前后制动器类型、驻车制动类型、前轮胎规格、后轮胎规格、轮毂材质、备胎规格 6 项信息。
(7)胎压监测:点击【胎压监测】进入胎压检测模块界面, 分为胎压监测、历史记录两个模块,并以卡片形式呈现。左上角【返回】可跳转车辆信息主界面。
1)胎压监测:点击【胎压监测】开始监测。检测过程中屏幕中央会显示缓冲标识并在其下方添加“Loading…”字样,且不能返回到任何界面。监测结束后,屏幕显示各个轮胎的胎压数据,数据下方显示【保养建议】和【保存】按钮,可跳转到“保养建议”的界面;也可保存监测数据,出现【保存成功】的弹窗并出现在【历史记录】中。2)警报提醒:当检测到胎压数据异常时,仪表盘的胎压报警灯
亮,同时屏幕出现弹窗并显示“XX 方轮胎胎压异常,请及时处理!” 的字样,弹窗右下方显示“确定”按钮,点击按钮关闭弹窗,显示本次监测的数据。

3)历史记录:点击【历史记录】进入界面。左上角【返回】可跳转胎压监测模块界面。以列表形式显示之前已经保存的监测记录信息,包括监测时间,各个轮胎的气压值,轮胎状态(正常/异常)以及是否发出警报(是/否)。
4)保养建议:点击【保养建议】进入界面。左上角【返回】可跳转胎压监测模块界面。界面上方显示胎压监测的各个数据。数据下方会显示保养建议。根据各个轮胎的气压值,会提出针对性的建议。例如:定期检查轮胎气压、定期检查轮胎是否磨损、保持轮胎对齐和平衡、定期清洁轮胎、注意避免碰撞和急刹车等。
任务 5:绘制“智能充电商用版小程序-充电功能”模块界面原型
(4 分)
【任务说明】
1.进入充电桩 App 界面,首页可查看附近充电桩列表,列表项包括充电桩地址、充电桩运行状态、充电桩缩略图、充电桩距离。顶部右上角显示扫一扫充电图标。
2.点击列表项,进入详情界面
(1)顶部显示充电桩图片、工作状态(运行中/空闲/报警)、充电功率、电压。
(2)中间部分显示 20¥按钮、30¥按钮、50¥按钮、100¥按钮、全部余额按钮。
(3)底部显示开始充电按钮。
3.点击扫一扫图标,进入扫一扫页面,页面中间部分显示相机识别区、底部显示上传照片按钮。识别成功后跳转至详情页开始充电。
任务 6:绘制“汽车维保”模块界面原型(4 分)
【任务说明】
1.进入车主 App 维保预约界面,界面顶部显示标题栏,标题栏右侧显示【维保历史】按钮,界面内容部分显示预约表单,界面底部显示【预约提交】按钮,预约表单包括维保类型、城市、维保服务站(4S 店)、预约日期、预约时间、维保车辆、车牌号码、联系人姓名、联系电话,维保类型包括常规保养和车辆维修,默认为常规保养。选择维保类型为车辆维修时,预约表单下方显示维修方案和电子签名区域, 维修方案包括更换零件、维修类目、单项价格、维修总价、维修周期。
2.点击【维保历史】按钮进入维保历史界面,界面顶部显示标题栏,标题栏下方显示维保历史记录条数和历史列表,维保历史列表项包括工单号、维保类型、维保日期、送修时间、维保费用和维保状态。

模块二 移动应用开发

一、模块考核点
模块时长:4 小时模块分值:50 分

本模块重点考查选手业务编码能力,基于移动跨平台应用开发生态系统,编程实现车主 App、中控大屏 App、家用版充电 App 和商用版充电小程序。
二、任务要求
App UI 尺寸自动适配开发电脑中提供的模拟器 UI ( 手机和Pad)、命名规范、应用名称(发布版本)和界面尺寸如下表:

序号应用操作系统屏幕尺寸屏幕分辨率应用名称
1车主手机 AppAndroid 手机6.0 英寸及以上1080×2340CarOwners.apk
2中控大屏移动终端包括仪表屏、主屏、副屏Android Pad12.3 英寸及以上15.6 英寸及以上15.6 英寸及以上1920×7201920×10801920×1080DIC.apkIVIZTaskX.apk IVIFTaskX.apk
3智能充电家用版 App鸿蒙 手机6.6 英寸及以上1280×2700Charge.hap
4智能充电商用版小程序小程序6.6 英寸及以上1280×2700dist2(目录)

本模块竞赛结束前,选手将上述成果物添加到“移动应用开发.zip” 压缩包并提交。
三、竞赛任务
参赛选手根据客户提供的任务描述,按照模块二的任务要求,完成移动跨平台应用开发生态系统各任务功能开发。
任务 1:中控大屏-360 度全景功能-右转向(7 分)
【任务说明】
1.车辆中控大屏开启时,当调试设备点击右转向,主屏显示 360
度全景 App 页面,页面分为影像和功能区上下两部分。
2.影像区域占屏幕高度 80%,画面分为左右两个部分。画面左侧显示汽车右侧摄像头,实时获取摄像头视频流,画面右侧显示 360 度全景实时影像,影像左侧显示设备左摄像头影像、右侧显示设备右摄像头影像、上部分显示设备前摄像头影像、下部分显示设备后摄像头影像、中间显示汽车贴图模拟真实效果,摄像头画面方向统一以汽车贴图为中心的 360 度全景影像(梯形图像拼接)。
任务 2:中控大屏-媒体播放(7 分)
【任务说明】
车辆中控大屏开启时,在仪表屏中选择媒体进行切换和播放。
1.仪表屏幕中间显示媒体组件,组件内上方显示正在播放的媒体信息例如“歌曲名称”“音视频名称”“音量显示”。信息栏下方显示播放控制按钮,“播放/暂停”“上一曲、下一曲”“音量滑块”“静音”,在操控设备中点击“播放/暂停”,仪表屏中的按钮随之切换“播放/暂停”状态,点击操控设备中的“上一曲、下一曲”按钮,仪表屏可切换正在播放媒体信息,点击操控设备中的“静音”按钮,仪表屏幕“音量显示”调节到静音模式。
2.主控屏中显示当前播放的歌曲名称、歌曲进度和歌词,显示“播放/暂停”“上一曲、下一曲”“音量滑块”“静音”按钮,点击各自按钮可对当前播放的歌曲进行操作。
3.中控大屏的主屏和仪表屏,同步播放同一首歌曲,同步音量, 并同一音源输出。
任务 3:中控大屏-空调(7 分)
【任务说明】
1.车辆中控大屏开启时,点击主控屏空调 App 图标,进入空调控制页面,主控屏页面中间位置显示车内温度。在副屏幕页面显示 OFF 按钮、上下箭头按钮、外循环按钮、内循环按钮,分别代表空调开关、自动空调温度调节按钮、空气循环方式按钮。
2.温度调节通过 Can 发送指令到温控设备,从而控制温控设备转速,并可体感。点击 OFF 按钮空调系统关闭,温控设备停止运行, 页面中央位置提示空调系统已关闭 2s 后返回中控首页。
3.点击外循环/内循环按钮,温度显示隐藏。显示中控大屏前后排座椅模型空气动画循环方式。2s 后模型隐藏显示车内温度。
任务 4:车主手机 App(7 分)
【任务说明】
1.进入车主 App 首页,页面分为 3D 汽车模型、远程控制部分。
2.首页页面初始化时显示模型加载状态,加载完成后页面顶部显示车辆当前电量和剩余续航里程,下方显示 3D 汽车模型。
3.通过旋转和缩放汽车模型可从各个角度查看车辆的外观和设计细节。
点击汽车模型车门可以对 3D 汽车模型进行开门和关门操作。任务 5:智能充电家用版 App 充电功能(6 分)
【任务说明】
1.在家用充电 App 首页,页面分为四部分,顶部显示首页标签, 标签下方显示用户车辆信息,车辆信息下方显示功能按钮,底部显示菜单并位置固定。
(1)用户车辆信息,包括车辆 3D 模型、车牌、品牌、型号和续航里程。
(2)车辆 3D 模型:通过旋转和缩放汽车模型可从各个角度查看车辆的外观和设计细节。
(3)中部功能按钮,包括添加充电桩、添加车辆和一键充电。
(4)底部菜单,包括首页、订单和个人中心,点击菜单,进入对应的页面。
2.当车辆处于 P 档,将充电模拟器上的“充电枪”插入中控大屏充电接口后,基于 Can 通讯,在车辆信息和功能按钮之间显示,车辆充电状态(待充电)、充电桩名称、电池电量和开始充电按钮。
3.点击开始充电按钮,启动充电,车辆充电状态变为充电中、电池充电动态进度(动画效果展示)、电池电量、充电功率、充电电量、预计剩余时间和停止充电按钮。
4.充电数据同步到其他终端,包括车主App、中控、后台管理系统。同步数据包括车辆充电状态、充电桩名称、电池电量、充电功率、充电电量和预计剩余时间等。
任务 6:车主 App-汽车维保(5 分)
【任务说明】
进入车主App 首页,首页显示车主服务模块,车主服务模块分为维保预约、维保历史。
点击车主服务模块中的【维保预约】进入维保预约页面,页面顶部显示标题栏,标题栏右侧显示【维保历史】按钮,页面内容部分显示预约表单,页面底部显示【预约提交】按钮,预约表单包括维保类型、城市、维保服务站(4S 店)、预约日期、预约时间、维保车辆、车牌号码、联系人姓名、联系电话,维保类型包括常规保养和车辆维修,默认为常规保养。
(1)选择维保类型为车辆维修时,预约表单下方显示维修方案和电子签名区域,维修方案包括更换零件、维修类目、单项价格、维修总价、维修周期,在签名区域手写签名确认后方可提交。
(2)完成预约表单信息后,点击【预约提交】按钮进行提交, 提交成功后进入支付页面,支付成功后返回首页,可在维保历史页面中查看预约记录。
点击首页车主服务模块中的【维保历史】进入维保历史页面,页面顶部显示标题栏,标题栏下方显示维保历史记录条数和历史列表, 维保历史列表项包括工单号、维保类型、维保日期、送修时间、维保费用和维保状态。
任务 7:中控大屏-用户中心(5 分)
【任务说明】
车辆通电启动后,在中控大屏主屏中,点击用户中心,进入登录页面,登录分为四个模块:
(1)免密登录:点击用户中心后进入免密登录页面,用户可通过输入手机号,获取验证码的方式登录。点击【注册】按钮可跳转至注册页。
(2)密码登录:用户可通过输入手机号和正确密码的方式登录。点击【注册】按钮可跳转至注册页,点击【忘记密码】按钮可跳转至忘记密码页面。
(3)忘记密码:用户可通过输入手机号、验证码、新密码的方式修改密码。修改成功后,跳转到密码登录页面,输入手机号和密码即可登录。
(4)注册:用户可点击【注册】按钮跳转至注册界面,填写手机号、验证码、密码可进行注册,在主屏中,点击用户中心 App 的免密登录页和密码登录页可跳转到注册页。用户可通过输入手机号、验证码和设置的密码进行注册。若已有账号可跳转到密码登录页面进行登录。注册成功后,跳转到密码登录页面,输入手机号和设置的密码进行登录。
任务 8:数据分析(6 分)
【任务说明】
1.柱状图:请分析统计 2023 年上半年使用充电桩的充电次数、充电量和花费,按照月耗电比例进行分析,横坐标为月份,每组纵坐标为充电次数、充电量和花费。
2.折线图:请分析统计 2023 年 3 月、5 月每百公里耗电量,按照每月耗电量和行驶公里数统计,横坐标为月份,每组折线点显示耗电量、行驶里程和平均百公里耗电量。
注:接口数据详见 API 接口文档(需要自行处理、合并封装、解析相应接口返回的数据)。

模块三 应用部署测试

一、模块考核点
模块时长:2 小时模块分值:25 分
本模块重点考查选手应用系统测试能力,基于移动跨平台应用开发生态系统,围绕车主 App、中控大屏 App、智能充电家用版 App 和智能充电商用版小程序,进行应用系统部署、测试用例编写、功能测试、API 自动化测试以及文档编写。
二、任务要求
1.部署移动跨平台应用开发生态系统待测应用。
2.根据“移动跨平台应用开发生态系统车主手机功能范围.pdf”, 撰写测试用例文档,并进行功能测试,将功能缺陷提交缺陷文档中。
3.利用 Postman 工具进行 API 接口测试,并导出 Api.json 脚本。
4.根据“移动跨平台应用开发生态系统车主手机功能范围.pdf”, 撰写产品操作手册文档。
5.本模块竞赛结束前,选手上述成果物测试用例.xlsx、缺陷分析.docx、Api.json、产品操作手册.docx 添加到“应用部署测试.zip” 压缩包内,并提交压缩包文件。
三、竞赛任务
任务 1:应用功能测试(10 分)
根据“移动跨平台应用开发生态系统车主手机功能范围.pdf”中
描述的功能范围,撰写测试用例文档(具体测试用例数量如表 1 所示,测试用例格式如表 2 所示)并进行全范围功能测查,找出特定的 10个 Bug,根据找出的 Bug 进行缺陷分析,分析 Bug 出现的原因,将
Bug 填写到“缺陷分析.docx”中,缺陷分析填写样例如表 3 所示。
表 1 功能模块说明

序号功能模块说明
1车主手机功能范围-功能 1本功能模块编写至少 10 个测试用例
2车主手机功能范围-功能 2本功能模块编写至少 10 个测试用例
3车主手机功能范围-功能 3本功能模块编写至少 10 个测试用例
4…………

表 2 功能测试填写样例表

系统模块用例编号用例描述前置条件操作步骤预期结果测试结果
1.登录1.1.1密码登录用户确保已注册用户名和密码输入正确的用户名、密码, 点击登录点击登录 后,提示 “登录成 功”字样, 跳转至车主手机App 首页测试通过

表 3 缺陷分析填写样例表

缺陷编号001
缺陷简要描述点击车主服务模块中的【维保预约】进入维保预约页面,无响应。
缺陷重现步骤1. 用户成功登录系统;2. 进入车主 App 首页;3. 点击首页【维保预约】按钮。
涉及功能模块车主 App
缺陷分析原因1. 【维保预约】功能未开发;2. 【维保预约】按钮失效。

在这里插入图片描述
任务 2:API 接口测试(10 分)
利用 Postman 测试工具,根据移动跨平台应用开发生态系统 API
文档,进行自动化API 接口测试,并导出 Api.json 文件。任务 3:撰写产品操作手册(5 分)
对移动跨平台应用开发生态系统车主手机功能进行梳理分析,利用产品操作手册(模板).docx 文件编写产品操作手册,具体规范如下描述:
第一部分:编写待测 App 的产品定位中心叙述,罗列核心功能点名称与运行待测 App 的运行基础环境。
第二部分:编写上述功能点的指导说明,准确叙述用户操作行为, 将功能变得具体化、形象化,便于读者理解具体内容,增强说服力。
第三部分:编写需要指出使用待测 App 的常规注意事项进行说明,提示用户规避使用不规范操作等。

需要比赛资源答案可联系博主(文章下方或主页有微信方式!)有资源!!

在这里插入图片描述

要实现基于Android Studio开发的好友信息管理系统APP,可以按照以下步骤进行: 1. 首先,在Android Studio中创建一个新项目,并设置好基本信息,如包名、应用名、主题等。 2. 创建好友信息表,包括好友ID、姓名、电话、邮箱等字段,并创建好友信息管理类,实现好友信息的增删改查等操作。 3. 创建好友列表界面,使用RecyclerView控件展示好友列表,并为每个好友项添加点击事件,跳转到好友详情页。 4. 创建好友详情页,展示好友详细信息,并提供编辑和删除功能。 5. 创建添加好友界面,包括好友ID、姓名、电话、邮箱等输入框,并添加确认和取消按钮。确认按钮将新建好友信息并保存到数据库中,取消按钮将返回上一个界面。 具体实现添加好友界面中,点击左上角按钮或点击取消按钮的效果都是取消本次添加的方法如下: 1. 在添加好友界面的布局文件中添加一个Toolbar控件,并设置其为ActionBar。 2. 为Toolbar添加一个菜单项,如“添加好友”。 3. 在Activity的onCreateOptionsMenu方法中加载菜单项,并设置其点击事件。 4. 在点击菜单项后,跳转到添加好友界面,并在ActionBar中添加一个“取消”按钮。 5. 为“取消”按钮添加点击事件,在点击后关闭当前Activity,返回上一个界面。 具体代码实现可以参考以下示例: ``` // 添加好友界面的布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- ActionBar --> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:title="" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> <!-- 好友ID输入框 --> <EditText android:id="@+id/friend_id" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/toolbar" android:hint="好友ID" /> <!-- 好友姓名输入框 --> <EditText android:id="@+id/friend_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/friend_id" android:hint="好友姓名" /> <!-- 好友电话输入框 --> <EditText android:id="@+id/friend_phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/friend_name" android:hint="好友电话" /> <!-- 好友邮箱输入框 --> <EditText android:id="@+id/friend_email" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/friend_phone" android:hint="好友邮箱" /> <!-- 确认和取消按钮 --> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/friend_email" android:orientation="horizontal"> <Button android:id="@+id/confirm_btn" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="确认" /> <Button android:id="@+id/cancel_btn" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="取消" /> </LinearLayout> </RelativeLayout> ``` ``` // 添加好友界面的Activity代码 public class AddFriendActivity extends AppCompatActivity { private Toolbar mToolbar; private Button mConfirmBtn; private Button mCancelBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add_friend); // 初始化Toolbar mToolbar = findViewById(R.id.toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); // 初始化确认和取消按钮 mConfirmBtn = findViewById(R.id.confirm_btn); mCancelBtn = findViewById(R.id.cancel_btn); // 为确认按钮添加点击事件 mConfirmBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 新建好友信息并保存到数据库中 // ... // 关闭当前Activity,返回上一个界面 finish(); } }); // 为取消按钮添加点击事件 mCancelBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 关闭当前Activity,返回上一个界面 finish(); } }); } // 加载菜单项 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.add_friend_menu, menu); return super.onCreateOptionsMenu(menu); } // 处理菜单项点击事件 @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.add_friend) { // 跳转到添加好友界面 Intent intent = new Intent(this, AddFriendActivity.class); startActivity(intent); return true; } else if (id == android.R.id.home) { // 关闭当前Activity,返回上一个界面 finish(); return true; } return super.onOptionsItemSelected(item); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺仔Sec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值