教材介绍 配套实验

    感谢您关注我们的《移动安全》教材。如果您想要相关资源以及答案,请将您的姓名、教育邮箱、学校及学院信息发送至 xxxxx@xxx.com。

    请您放心,我们承诺将严格保护您的信息安全。感谢您的信任与支持!



Lab1 移动应用开发基础

一、实验目标

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中通过某种机制实现播放控件状态(播放进度、歌曲时间)的更新

四、结果提交形式

1. lab1_code.zip:本次实验中的实验代码,仅需要提供相关源码,主要不要包含项目构建相关文件。

2. lab1.docx: 实验报告,需要包含实验思路、步骤、代码解释。

3. lab1.apk :项目打包生成的apk文件。

五、评分标准

1. 完成任务1(30%):每正确完成一个要求获得10%

2. 完成任务2 (40%):每正确完成一个要求获得10%

3. 实验报告(30%):

• 内容完整性和原创性(20%)

• 报告包含实验目的、详细步骤、结果、总结思考等关键部分

• 代码设计遵循代码规范,有必要的解释说明

• 报告撰写和表达(10%)

• 报告格式规范,语言表达清晰

• 能够适当使用图表等辅助说明报告内容

六、附件内容说明

1. lab1_project.zip: 本次实验的代码框架,你可以基于此框架完成实验。

地址:上海市杨浦区淞沪路2005号复旦大学江湾校区二号交叉学科楼六楼、七楼              复旦大学系统软件与安全实验室              联系邮箱:wanqi_zhang@fudan.edu.cn