博客
关于我
安卓实训项目阶段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/

    你可能感兴趣的文章
    Python3 查看 com 组件的属性
    查看>>
    python3 案例分享--发邮件
    查看>>
    python3 模板库_Python3 标准库概览_Python教程_我爱模板网 - 提供下载各种免费建站资源,免费网站模板,免费网页特效,让你爱上建站!...
    查看>>
    Python3 求最大/小值及索引值 Numpy
    查看>>
    python3+django使用celery执行某些任务失败的解决方案
    查看>>
    Python3+Requests+Unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【二】
    查看>>
    Python3+Requests+Unittest实战系列【二】
    查看>>
    python3----ASCII
    查看>>
    Python3-selenium自动化测试框架,结合HTMLTestRunner测试报告!
    查看>>
    Python3-如何自我更新作为服务运行的应用程序
    查看>>
    Python3.1-网格模拟概念性问题
    查看>>
    Python3.12 解决conda环境libstdc++版本过低问题
    查看>>
    python3.2批量查询IP地址区域
    查看>>
    Python3.5中协程和未来/任务之间的区别?
    查看>>
    python3.5实现socket通讯(TCP)
    查看>>
    python3.6 ubuntu部署nginx、 uwsgi、 django
    查看>>
    Python3.6.3中,functools似乎不能用
    查看>>
    python3.6.5+cuda9+cudnn7.1+win10+tensorflow-gpu1.9.0下载配置
    查看>>