【HarmonyOS 鸿蒙Next <第一课>“营”在暑期:Codelabs挑战赛+音乐专辑】滴水竹
【HarmonyOS 鸿蒙Next <第一课>“营”在暑期:Codelabs挑战赛+音乐专辑】滴水竹
前言
看到开发者学堂有活动【<HarmonyOS第一课>“营”在暑期:Codelabs挑战赛+音乐专辑】,啪的一下就过来了,看到音乐专辑,突然想到社恐的我需要一个小应用解决下尴尬场景(如接空电话逃离现场,商城上现在了一个要¥/(ㄒoㄒ)/~~),于是为了蘸着这个醋,包了顿饺子。当然因为是新手,摸摸索索弄了以下demo
模拟来电
介绍
当生活需要一点小小的刺激,或者你只是想要摆脱一些尴尬的场合,不妨考虑一下我们的手机应用——“模拟来电”!
不再尴尬场合尴尬 🙈
你是否曾因无法逃脱乏味会议,却急需一个接敌电话来解救自己?现在不必再担心了!我们的应用可以让你的手机瞬间响起“来电”,轻松掩盖任何无聊的场合,你可以故作认真、装作急事或者偷偷摸摸地离开,而不担心被抓个正着!
变身通话高手 📱
你是否渴望成为通话高手,获得和朋友们的赞誉?通过我们的应用,你可以随时模拟接到重要电话,与假想客户、老板或明星进行“通话”,让你的朋友们感到佩服不已。你可以偷偷抄起手机,然后露出一副“生意繁忙”的表情!
化解突发状况 🚨
有时候,我们会陷入一些令人尴尬的境地,需要一个借口来逃脱。无论是难堪的约会还是突如其来的社交场合,只需轻轻一按,你的手机将响起“来电”声,为你提供一个完美的借口,轻松脱身!
哈哈,以上是gpt生成的一个场景应用,接下来正式介绍下此软件目前所拥有或将涉及到的功能:
使用ArkUI框架、harmony,api9,主要功能涉及基础页面路由,媒体权限,弹窗组件,后台驻留,一多端、音乐播放、等功能。
开发环境
- win系统版本:22H2 (22621.2215)
- DevEco Studio Version: 4.0.0.400 (4.0 Beta2)
- SDK: 3.1.0(API 9)
- 真机测试:
- 手机型号: mate30 5G ,系统版本:4.0.0.113(多屏协同才正常)
- 平板型号:matepad11 ,系统版本:4.0.0.115
已实现功能:(时间23年9月12日)
UI层
- 设定页面
- 详细页
- 来电者设定页
- 未接听状态页和接听页
- 背景选择页
- 铃声选择页
业务层
- 设定时间
- 设定来电者
- 设定铃声
- 设定震动
- 来电背景
数据持久化
安装教程
工程目录
mock-call/entry/src/main/ets/
mock-call/entry/src/main/ets/
|--- common
| |--- bean
| | |--- ItemData.ets // 列表项实体数据组件
| |--- constants
| | |--- CommonConstants.ets // 常量
| |--- utils
| | |--- BreakpointSystem.ets // 查询媒体断点工具组件
| | |--- CommonUtils.ets // 通用工具组件
| | |--- DataSource.ets // 数据源组件
| | |--- Logger.ets // 日志工具组件
|--- database // 暂未使用
|--- entryability
| |--- EntryAbility.ts
|--- pages
| |--- bg_select.ets // 背景选择页
| |--- Caller_Setting.ets // 来电者设定页
| |--- MainPage.ets // 主页
| |--- Mock_Call.ets // 模拟来电显示页
| |--- Mock_Calling.ets // 模拟来电接听页
| |--- Music.ets // 铃声选择页
|--- view
| |--- commonViewItem
| | |--- title_area.ets // 标题扩充组件(现阶段未用到)
| | |--- title_item.ets // 标题栏组件
| |--- dialog
| | |--- CustomDialogView.ets // 自定义弹窗组件(现阶段未用到)
| | |--- MainSettingDialog.ets // 主页弹窗组件
| | |--- SettingDialog.ets // 主页设置页弹窗组件
| |--- musicView
| | |--- Content.ets // 铃声内容组件
| | |--- Header.ets // 标题栏组件
| | |--- Player.ets // 播放组件
| | |--- PlayerList.ets // 音乐列表组件
| | |--- PlayerListCover.ets // 音乐列表展示封面组件
| |--- Call_setting.ets // 主页设置页内容
| |--- Caller_Setting_View.ets // 模拟来电设置页内容
| |--- Mock_Call_View.ets // 主页视图内容
| |--- Mock_Calling.ets // 来电显示与接听内容
| |--- Setting.ets // 主页设置页内容
|--- viewmodel
| |--- MainViewModel.ets // 主页用到的获取路径资源
| |--- Mock_CallViewModel.ets // 模拟来电页用到的获取路径资源
| |--- SongViewModule.ets // 铃声选择页用到的获取路径资源
使用说明
- 设定来电时间(默认0秒后)
- 设定来电者的内容
- 设定是否开启震动和铃声(默认开启)
- 其余默认设置或自定义
- 单击 开始模拟
展示(一多端)
手机端
平板端
总结下: 学了蛮多东西的媒体查询,弹性布局、栅格布局,用起来太快了界面直接在dev的preview看到,虽然磕磕碰碰的,但还算舒服。遗憾的是音频怎么播放一直不会,看文档半天像是天书,那个示例代码,倒是希望多来点例子。
欢迎来我这吐槽,github链接: https://gitee.com/dishuizhu/mock-call
更多关于【HarmonyOS 鸿蒙Next <第一课>“营”在暑期:Codelabs挑战赛+音乐专辑】滴水竹的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于【HarmonyOS 鸿蒙Next <第一课>“营”在暑期:Codelabs挑战赛+音乐专辑】滴水竹的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
鸿蒙Next是华为推出的新一代操作系统,专注于全场景智能设备。Codelabs挑战赛是华为为开发者提供的实践平台,通过实际项目帮助开发者掌握鸿蒙开发技能。音乐专辑“滴水竹”可能是与鸿蒙Next相关的多媒体应用示例,展示其在音频处理或媒体播放方面的能力。