目录

  • 项目功能
  • 实现步骤
    • 创建安卓应用
    • 将图片素材放入drawable
    • 按钮图片选择器
    • 编写主布局文件
    • 编写字符串文件
    • 创建音乐列表项模板music_name_list_item.xml
    • 创建ui子包,将主界面类放入
    • 创建entity子包,在里面创建音乐实体类Music
    • 创建app子包,在里面建音乐播放器应用程序类MusicPlayerApplication.java
    • 在项目清单文件给音乐播放器音乐文件注册![在这里插入图片描述](https://img-blog.csdnimg.cn/20210106100855918.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ4ODM4OTgw,size_16,color_FFFFFF,t_70)
    • 给项目清单授权读存储卡
    • 创建adapter子包,在里面创建音乐适配器MusicAdapter
    • 在app子包里创建应用程序常量接口AppConstants.java
    • 创建sevice子包,并创建音乐播放服务类MusicPlayService.java
      • 继承Service类实现AppConstants接口
      • 创建音乐官博接收器内部类MusicReceiver
      • 声明变量
      • 获取音乐播放器应用程序对象
      • 设置播放方法
      • 上一首
      • 下一首
      • 暂停方法
      • 编写音乐广播接收器
      • 媒体播放器
      • 设置线程并启动
      • 广播接收器
      • 编写onStartCommand()回调方法
      • 编写onDestroy()回调方法
      • 在项目清单文件里注册音乐播放服务
    • 编写主界面类
      • 实现appConstants接口,声明变量
      • 通过资源标识符获取控件实例
      • 音乐广播接收者
      • 获取音乐播放器应用程序对象
      • 填充音乐列表异步任务类
      • 编写音乐广播接收器的代码
      • 上一首音乐按钮单击事件处理方法
      • 下一首音乐按钮单击事件处理方法
      • 播放/暂停按钮单击事件处理方法
      • 销毁回调方法
    • 运行效果

项目功能

  • 在基于存储卡音乐播放器V0.4基础上,作如下修改:
  • 创建应用程序常量接口保存广播频道常量
  • 在音乐播放器应用程序类里添加两个属性
    – currentMusicIndex
    – currentPosition
    – 访问它们的方法
  • 创建MusicPlayService来完成音乐的播放、暂停以及切换工作
  • 利用广播来实现MainActivity与MusicPlayService之间的通信

实现步骤

创建安卓应用

将图片素材放入drawable

  • 音乐素材参照V0.1

按钮图片选择器

  • 与V04相同,可直接复制

编写主布局文件

编写字符串文件

创建音乐列表项模板music_name_list_item.xml

创建ui子包,将主界面类放入

创建entity子包,在里面创建音乐实体类Music

  • 编写音乐实体类

创建app子包,在里面建音乐播放器应用程序类MusicPlayerApplication.java

在项目清单文件给音乐播放器音乐文件注册

给项目清单授权读存储卡

创建adapter子包,在里面创建音乐适配器MusicAdapter

  • 编写音乐适配器代码MusicAdapter.java

在app子包里创建应用程序常量接口AppConstants.java

  • 编写AppConstants.java

创建sevice子包,并创建音乐播放服务类MusicPlayService.java

继承Service类实现AppConstants接口

创建音乐官博接收器内部类MusicReceiver

声明变量

获取音乐播放器应用程序对象

设置播放方法

上一首

下一首

暂停方法

编写音乐广播接收器

媒体播放器

设置线程并启动

广播接收器

编写onStartCommand()回调方法

编写onDestroy()回调方法

在项目清单文件里注册音乐播放服务

编写主界面类

实现appConstants接口,声明变量

通过资源标识符获取控件实例

音乐广播接收者

获取音乐播放器应用程序对象

填充音乐列表异步任务类

编写音乐广播接收器的代码

上一首音乐按钮单击事件处理方法

下一首音乐按钮单击事件处理方法

播放/暂停按钮单击事件处理方法

销毁回调方法

运行效果



提示:点击音乐列表可切换歌曲

Android实训日志:基于外部存储的音乐播放器V05相关推荐

  1. Android实训日志:基于外部存储的音乐播放器V06

    目录 项目功能 实现步骤 创建安卓应用 将图片素材放入drawable和mipmap 创建按钮背景图片选择器 在项目清单文件里授权访问外置存储卡,设置应用程序图标 创建anim包里面创建animato ...

  2. Android实训日志:基于外部存储的音乐播放器V04

    文章目录 项目功能 实现步骤 创建安卓应用 将图片素材放入drawable 按钮背景图片选择器 在项目清单文件里设置安卓应用的图标和授权访问外置存储卡 主布局资源文件activity_main.xml ...

  3. Android 实训日志:基于外部存储的音乐播放器V03

    文章目录 项目功能 实现步骤 创建安卓应用 将图片素材放入drawable 按钮背景图片选择器 在项目清单文件里设置安卓应用的图标和授权访问外置存储卡 主布局资源文件activity_main.xml ...

  4. Android实训日志:基于外部存储卡的音乐播放器V02

    目录 功能要求 实现步骤 创建安卓应用 将图片素材放入drawable 播放按钮图片选择器 编写主布局文件 创建ui目录,将主界面类放入 创建util目录,创建CommonUtils工具类 编写Com ...

  5. 【网络收录】基于51单片机开发音乐播放器

    [网络收录]基于51单片机开发音乐播放器 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Thu, 22 May 2014 18:14:00 +0800 特别声明:本资料来源 ...

  6. (附源码)springboot+基于微信小程序音乐播放器的设计与实现 毕业设计271156

    Springboot音乐播放小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的音乐播放器,系统为人们提供了方便快捷.即用即搜的音乐搜索播放服务,包括音乐资讯.音乐库推荐.交流论坛.注册登录.最 ...

  7. springboot+基于微信小程序音乐播放器的设计与实现 毕业设计-附源码271156

    Springboot音乐播放小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的音乐播放器,系统为人们提供了方便快捷.即用即搜的音乐搜索播放服务,包括音乐资讯.音乐库推荐.交流论坛.注册登录.最 ...

  8. html实现音乐界面设计,基于HTML5技术的音乐播放器的设计与实现.doc

    基于HTML5技术的音乐播放器的设计与实现 基于HTML5技术的音乐播放器的设计与实现 常志强 刘正余 杨劲楠 皖西学院电子与信息工程学院 X 关注成功! 加关注后您将方便地在 我的关注中得到本文献的 ...

  9. web html5音乐播放器设计与实现,基于HTML5技术的音乐播放器的设计与实现

    Vol.33No.11Nov.2017 赤峰学院学报(自然科学版) Journal of Chifeng University (Natural Science Edition )第33卷第11期(下 ...

最新文章

  1. PB 级数据处理挑战,Kubernetes如何助力基因分析?
  2. Nat. Biotech. | AI、药物重定位和同行评审
  3. Keras用动态数据生成器(DataGenerator)和fitgenerator动态训练模型
  4. python处理teradata数据库_Teradata数据库——你需要了解的基础知识
  5. Spark详解(十二):Spark Streaming原理和实现
  6. linux / pkg-config 原理及用法
  7. Web群集与日志管理Haproxy搭建
  8. ATS读小文件(内存命中)
  9. halcon 单通道图像转成3通道_halcon图像处理基本运算
  10. intl扩展 mac 安装php_mac下php安装intl扩展代码分享
  11. Flutter 入门指北(Part 9)之弹窗和提示(SnackBar、BottomSheet、Dialog)
  12. Docker Windows 安装
  13. 大神带你实现 NLP 从入门到获奖,还有免费算力可以薅
  14. 8. wordpress源码解析-目录结构-文件调用关系(1)
  15. 7zip压缩zip格式时文件名支持中文的设置
  16. alsa内核文档翻译之——overview.txt
  17. JdbcTemplate查询数据 三种callback之间的区别(ResultSetExtractor,RowMapperRowCallbackHandler)
  18. 设计模式之适配器模式
  19. 实地测试电源模块性能
  20. 【应用随机过程】06. 布朗运动

热门文章

  1. Python标准库10 多进程初步 (multiprocessing包)
  2. [你必须知道的.NET]第二十七回:interface到底继承于object吗?
  3. dedephp geteditor(,cms教程:dedecms修改后台编辑器参数GetEditor的方法
  4. 半径对氢原子基态能级的影响H
  5. 计算氦原子的基态能级
  6. WEB开发者应该有哪些必备的技能?
  7. 3.7 非极大值抑制-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  8. Ardino基础教程 13_温度传感器
  9. Linux快速工作使用指令经验(持续更新)
  10. 基于SNN脉冲神经网络的FPGA实现介绍