配套实验资源

《移动安全》教材配套实验,涵盖从环境配置到高级安全技术的完整实践体系

Lab1 基础实验

移动应用开发基础

学习Android四大组件和组件间通信机制,开发简易音乐播放器

实验目标

  1. 在开发过程中进一步加深对移动应用开发流程的了解,熟悉安卓界面开发过程中常用的基本控件,掌握添加和获取控件的方法;
  2. 理解安卓四大组件在 Android 应用中的作用,包括各类组件的生命周期和基本操作;
  3. 学习使用 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/

本次实验的代码框架,你可以基于此框架完成实验