zoukankan      html  css  js  c++  java
  • Android音乐播放器

    大家抱歉~~,课业繁忙,暂时鸽了。以后还是会补上的。源代码分享给大家了。    --2020.6.4

    ---------------------------------------------------------------------------------------------------

    收到了好多小伙伴的私信,那就和大家分享一下程序开发的思路和代码。

    功能说明->说明文档

    演示视频->Android音乐播放器

    源代码->GitHub

    每个功能具体实现可能需要单开一篇博客来介绍,不然篇幅太长大家也就失去了耐心。

    1.系统功能

    图1.1页面层次

    图1.2首页 功能概述图

    图1.3服务 功能概述图

    系统界面和功能概述如上图所示,主要具体实现功能如下:(*与代码量/实现难度成正比)

    1. 点击播放音乐*
    2. 后台播放***
    3. 点击/自动播放下一曲**
    4. 单曲循环/列表循环*
    5. 进度条显示,可拖动播放的进度条
    6. 歌曲名/歌手名搜索**
    7. 自动扫描获取手机内存歌曲*
    8. 联网时加载预置在线歌曲*
    9. 初次打开软件,请求获取存储权限*
    10. 侧滑菜单栏界面+主页面动态联动***
    11. 前端交互优化,点击水波纹效果/控制键按压反色动态效果**

    2.涉及到的技术点

    技术难点:

    ①    实现完全的前后端分割,activity与service分割,activity结束后service仍可后端运行,activity再次启动时,绑定service并获取信息设置页面信息。

    ②    侧滑菜单栏的实现页面切换时,为了减小页面切换的延迟,使用动态fragment,并将每个创建的fragment压栈。

    ③    为了达到列表的筛选效果,无方法可以调用的情况下,自己实现了基于歌名和歌手名的筛选逻辑。

    ④    设计了软件图标、界面和所有的交互按钮动态效果。

    用到的组件/类:

    Activity中:

    ImageView(所有的点击图标)、TextView(显示信息)、ToolBar+SearchView(搜索框)、RecyclerView+ LinearLayoutManager (列表)、SeekBar+Handler+ Runnable(进度条)、BroadcastReceiver+ IntentFilter (界面信息更新)、ConnectivityManager+ NetworkInfo (网络状态)、ContentResolver+ Cursor(读取内存歌曲)

    DrawerLayout+ NavigationView+ Fragment+ FragmentManager+ FragmentTransaction(侧滑菜单)、DisplayMetrics+ RelativeLayout(主页面动态联动)

    Service中:

    Service(音乐服务) 、IntentService(转发更新信息)、MediaPlayer(音乐播放)

    启动页面:

    RxPermissions(github第三方开源库  动态权限获取)

    其他:Toast、Intent等

    3.功能实现

      1.后台音乐播放构架

      2.待更......

      3.

  • 相关阅读:
    使用MOCK对象进行单元测试
    软件项目管理的圣经人月神话(中)
    java中使用MD5进行计算摘要
    Windows平台安装Bugzilla(上)
    dom4j学习总结(二)
    深入解析ATL(第二版ATL8.0)(2.12.2节)
    深入了解JUnit 4
    java中关于时间日期操作的常用函数
    使用XStream需注意的问题
    Windows平台安装Bugzilla(下)
  • 原文地址:https://www.cnblogs.com/Dawn-bin/p/13033655.html
Copyright © 2011-2022 走看看