移动应用开发基础
学习Android四大组件和组件间通信机制,开发简易音乐播放器
实验目标
- 在开发过程中进一步加深对移动应用开发流程的了解,熟悉安卓界面开发过程中常用的基本控件,掌握添加和获取控件的方法;
- 理解安卓四大组件在 Android 应用中的作用,包括各类组件的生命周期和基本操作;
- 学习使用 Intent 和 BroadcastReceiver 进行组件间通信,为后续的安全分析奠定基础。
前置准备
1. 理论知识学习
进行本 Lab 前请先完成教材第2章的学习,主要包括 2.1 节安卓基础,熟悉安卓系统框架、安卓应用四大组件的基础概念和组件间通信机制。进一步地,你还需要熟读 2.2.2 节 Kotlin,了解 Kotlin 适用于安卓开发的几个关键特性。
2. 实验环境
- Android Studio 开发环境
- Root 权限的安卓设备或安卓模拟器
任务描述
在本实验中开发一个简易音乐播放器。该简易音乐播放器需要具备以下基本功能:
- 展示音乐播放功能界面,需要实现播放控制按钮和进度条,和歌曲列表展示
- 实现播放、暂停、上一首和下一首的基本播放控制
任务1 完成基本页面的开发
设计并实现一个用户友好的音乐播放功能界面,该界面集成了基本的音乐播放控制按钮和进度条,同时提供歌曲列表展示,以增强用户体验。具体来说你需要实现以下要求:
1. 播放控制按钮
- 实现播放(Play)和暂停(Pause)按钮的基本功能
- 实现上一首(Previous)和下一首(Next)按钮,允许用户在播放列表中前后切换
2. 进度条
- 添加一个 SeekBar 控件,用于展示当前音乐的播放进度
3. 歌曲列表展示
- 使用 RecycleView 展示歌曲列表,需要设计 RecycleView 中每个 Item 的展示内容
任务2 实现播放功能
实现音乐播放器的核心播放控制逻辑,包括播放、暂停、上一首、下一首的基本控制,以及进度条的实时更新。具体来说你需要实现以下要求:
1. 获取本地歌曲列表
- 实现 MusicUtils 中的 getMusicList 方法,该方法扫描本地音乐文件,并按特定格式存储
2. 播放控制接口
- 创建一个 MusicService 类,继承自 Service,用于处理音乐播放的后台任务
- 在 MusicService 中定义接口,供 PlayMusicActivity 调用,实现播放、暂停、停止、上一首和下一首的控制,可以使用安卓官方提供的 MediaPlayer 类实现对音频文件的播放控制
3. 组件通信
- 利用 Intent 在 localMusicActivity 和 PlayMusicActivity 之间传递控制命令,如播放指定歌曲
- 初始化 UI 控件,并为播放控制按钮设置点击事件 Listener。实现点击事件的逻辑
4. 播放状态更新
- PlayMusicActivity 中通过某种机制实现播放控件状态(播放进度、歌曲时间)的更新
结果提交形式
- lab1_code.zip:本次实验中的实验代码,仅需要提供相关源码,注意不要包含项目构建相关文件。
- lab1.docx:实验报告,需要包含实验思路、步骤、代码解释。
- lab1.apk:项目打包生成的 apk 文件。
评分标准
1. 完成任务1(30%)
每正确完成一个要求获得10%
2. 完成任务2(40%)
每正确完成一个要求获得10%
3. 实验报告(30%)
内容完整性和原创性(20%)
- 报告包含实验目的、详细步骤、结果、总结思考等关键部分
- 代码设计遵循代码规范,有必要的解释说明
报告撰写和表达(10%)
- 报告格式规范,语言表达清晰
- 能够适当使用图表等辅助说明报告内容
实验资源
Lab1 实验资源包
包含本次实验所需的全部资源文件
资源包内容
lab1_project/
本次实验的代码框架,你可以基于此框架完成实验