博客
关于我
安卓实训项目阶段1报告-续2
阅读量:522 次
发布时间:2019-03-07

本文共 1200 字,大约阅读时间需要 4 分钟。

基于存储卡音乐播放器 V0.3 开发项目实训

项目背景

基于存储卡音乐播放器 V0.3 结合之前的 V0.2 版本,新增了一些核心功能以提升用户体验。项目主要实现了音乐列表管理、播放控制以及自动切换等功能,结合安卓开发框架完成相应实现。

功能增强

  • 音乐播放列表

    • 独立存储音乐列表data文件,支持批量导入音乐数据。
    • 新增音乐列表页面,可视ually显示歌曲名称并支持搜索功能。
    • 在列表级别增加播放控制按钮,包括播放、暂停、下一首、上一首和退出全屏等功能。
  • 播放控制

    • 初始化时从列表中选中默认播放第一首歌。
    • 支持单击某一首音乐直接播放,播放进度清零。
    • 在音乐播放时,自动显示当前播放时长,并支持屏幕全屏播放。
    • 鼓励用户切换播放器背景选择从存储卡中选取,全新绘制新界面。
  • 安卓开发流程

    一、创建安卓项目

  • 新建一个新的安卓项目,在 Android Studio 中选择同一构建工具和最小版本为 SDK version 23 的非 Google Play 虚拟机。
  • 项目路径名称建议为 BasedOnSDCardMusicPlayer_V0.3。
  • 设置语言为 Java,选择空白模板,勾选 Create a new main module 生成基本项目架构。
  • 二、布局设计

  • activity.xml:
  • 三、组件开发

  • 音乐列表适配器 MusicAdapter.java:

    • 使用 LinearLayout 布局,展示音乐列表项,包含歌曲名称。
    • 使用 ImageButton 实现上一首和下一首功能。
    • 适配音乐列表数据源,支持动态视图更新。
  • 音乐播放控制适配器 MusicPlayerAdapter.java:

    • 实现播放控制功能,包括播放、暂停、下一首、上一首以及退出全屏。
    • 在播放过程中显示当前音乐播放时间。
  • 四、工具类开发

  • 常用工具类 CommonUtils.java:

    • 提供音乐列表操作、播放器控制等通用功能。
    • 使用 SharedPreferences 存储用户偏好设置,包括默认播放位置。
  • 音乐实体类 Music.java:

    • 包含音乐文件路径、歌曲名称、播放时间等属性信息。
  • 五、主界面实现

    在 MainActivity.java 中:

  • 导入必要的 intent 和 intent-filter,支持从文件浏览器访问存储卡文件。
  • 实现 BroadcastReceiver 用于动态更新音乐播放状态。
  • 使用 Service 组件实现音乐播放功能,避免 UI 阻塞。
  • 六、功能测试

  • 通过虚拟设备进行功能演示,确保音乐播放、列表切换和自动切换都能正常运行。
  • 测试不同存储卡文件的兼容性,验证音乐导入和播放的完整性。
  • 逐步调试适配器和工具类功能,确保所有组件协同工作。
  • 总体来看,V0.3 版本的更新在功能上有了显著提升,同时在技术实现上更加稳健,为后续的版本迭代奠定了良好基础。

    转载地址:http://uwbnz.baihongyu.com/

    你可能感兴趣的文章
    Python:如何模拟 datetime.utcnow()?
    查看>>
    Python:如果DataFrames之间的其他值匹配,则对DataFrame中的值求和
    查看>>
    Python:字典思维
    查看>>
    Python:将 HEX 字符串转换为字节
    查看>>
    Python:将列表与范围列表合并
    查看>>
    Python:将列表列表初始化为一定大小,
    查看>>
    Python:带有生成器的给定集合的幂集
    查看>>
    Python:按字符的位置拆分字符串
    查看>>
    Python:替换嵌套字典中的值
    查看>>
    Python:爬取数据出现response.status_code为403解决方法
    查看>>
    Python:爬取数据出现response.status_code为418解决方法
    查看>>
    Python:生成“元组集“;来自“元组列表“;不考虑顺序
    查看>>
    Python:生成具有趋势的随机时间序列数据(例如周期性、指数衰减等)
    查看>>
    Python:用渐进式数字重命名列表中的重复项而不对列表进行排序
    查看>>
    Python:矩形参数无效
    查看>>
    Python:语法进阶
    查看>>
    Python:调用复制函数时调用 Python 对象时超出了最大递归深度
    查看>>
    Python:这两个 import 语句有什么区别?
    查看>>
    Python:通过串口从 Velleman k8090 读取数据
    查看>>
    python:遍历具有列表值的字典
    查看>>