实例介绍
该android音乐播放器支持以下功能: 1.本地音乐的播放控制; 2.音乐的收藏和取消收藏; 3.网络音乐的搜索和下载; 4.下载的控制-暂停/继续/删除/断点下载; 5.音乐列表刷新-下载完成后刷新可以看到新增歌曲; 6.播放界面-加载专辑图片和歌词并支持歌词的滚动监听; 7.后台任务栏控制音乐的播放。 主要知识点: 安卓四大组件之Activity,Service, Broacast Receiver分别实现界面的展示,后台播放和下载,组件之间通信; HttpURLConnection实现歌曲,专辑图片,歌词的搜索; 多线程下载-多个线程分割下载任务提高下载效率并结合数据库实现断点下载;
【实例截图】
【核心代码】
EasyMusic_sketch
└── EasyMusic_23
├── AndroidManifest.xml
├── bin
│ ├── AndroidManifest.xml
│ ├── classes
│ │ └── com
│ │ └── sprd
│ │ └── easymusic
│ │ ├── BuildConfig.class
│ │ ├── fragment
│ │ │ ├── DownloadFragment$1$1.class
│ │ │ ├── DownloadFragment$1$2.class
│ │ │ ├── DownloadFragment$1.class
│ │ │ ├── DownloadFragment$2.class
│ │ │ ├── DownloadFragment$3$1.class
│ │ │ ├── DownloadFragment$3.class
│ │ │ ├── DownloadFragment$4.class
│ │ │ ├── DownloadFragment$5.class
│ │ │ ├── DownloadFragment$CallBack.class
│ │ │ ├── DownloadFragment.class
│ │ │ ├── MusicListFragment$1$1.class
│ │ │ ├── MusicListFragment$1.class
│ │ │ ├── MusicListFragment$2.class
│ │ │ ├── MusicListFragment$3.class
│ │ │ ├── MusicListFragment$CallBack.class
│ │ │ ├── MusicListFragment$MyAsyncTask.class
│ │ │ ├── MusicListFragment.class
│ │ │ ├── NetFragment$1.class
│ │ │ ├── NetFragment$2$1.class
│ │ │ ├── NetFragment$2$2.class
│ │ │ ├── NetFragment$2.class
│ │ │ ├── NetFragment$3.class
│ │ │ ├── NetFragment$4.class
│ │ │ ├── NetFragment$SearchMusicTask.class
│ │ │ ├── NetFragment.class
│ │ │ ├── StoredSongFragment$1.class
│ │ │ ├── StoredSongFragment$2.class
│ │ │ ├── StoredSongFragment$3.class
│ │ │ ├── StoredSongFragment$CallBack.class
│ │ │ └── StoredSongFragment.class
│ │ ├── MainActivity$1.class
│ │ ├── MainActivity$2.class
│ │ ├── MainActivity$3.class
│ │ ├── MainActivity$4.class
│ │ ├── MainActivity$SectionsPagerAdapter.class
│ │ ├── MainActivity.class
│ │ ├── manager
│ │ │ ├── EasyMusicManager$ManagerHolder.class
│ │ │ └── EasyMusicManager.class
│ │ ├── MusicSettings.class
│ │ ├── MyApplication.class
│ │ ├── mysql
│ │ │ └── MyDBHelper.class
│ │ ├── myview
│ │ │ ├── CircleImageView.class
│ │ │ ├── LrcView$ParseLrcTask$1.class
│ │ │ ├── LrcView$ParseLrcTask.class
│ │ │ ├── LrcView.class
│ │ │ ├── MyProgressBar.class
│ │ │ ├── RefreshableListView$1.class
│ │ │ └── RefreshableListView.class
│ │ ├── PlayMusicActivity$1.class
│ │ ├── PlayMusicActivity$2.class
│ │ ├── PlayMusicActivity$3.class
│ │ ├── PlayMusicActivity$4.class
│ │ ├── PlayMusicActivity$5.class
│ │ ├── PlayMusicActivity$6.class
│ │ ├── PlayMusicActivity$7.class
│ │ ├── PlayMusicActivity$8.class
│ │ ├── PlayMusicActivity.class
│ │ ├── R$anim.class
│ │ ├── R$array.class
│ │ ├── R$attr.class
│ │ ├── R$dimen.class
│ │ ├── R$drawable.class
│ │ ├── R$id.class
│ │ ├── R$layout.class
│ │ ├── R$menu.class
│ │ ├── R$string.class
│ │ ├── R$style.class
│ │ ├── R$xml.class
│ │ ├── R.class
│ │ ├── service
│ │ │ ├── MusicService$1.class
│ │ │ ├── MusicService$2.class
│ │ │ ├── MusicService$DownloadRunnable.class
│ │ │ ├── MusicService$MusicBinder.class
│ │ │ ├── MusicService$Watcher.class
│ │ │ └── MusicService.class
│ │ └── util
│ │ ├── BitmapUtil.class
│ │ ├── DownloadUtil$1$1.class
│ │ ├── DownloadUtil$1.class
│ │ ├── DownloadUtil$DownloadThread.class
│ │ ├── DownloadUtil.class
│ │ ├── LoadImageTask.class
│ │ ├── LrcLine.class
│ │ └── StringUtil.class
│ ├── classes.dex
│ ├── dexedLibs
│ │ ├── android-support-v4-0dae3649d25e503e88cf39588dae5623.jar
│ │ ├── android-support-v4-42fd94e4ade48de62cd831ecdfea58b8.jar
│ │ ├── android-support-v4-6d6d76d98d507d31304e9e9e3a36fa73.jar
│ │ ├── android-support-v4-d409ef436acbba7b1ac830e8aa79158a.jar
│ │ ├── android-support-v4-e6ba058a6fbc7413fe4e796f64320e51.jar
│ │ ├── android-support-v4-eb93e3ac10f84a1ac2b4e2aa6957ac10.jar
│ │ ├── jsoup-1.9.2-ab447aae0df6a812dc4b1630ba62e908.jar
│ │ ├── volley-3d55e424c085f250f5035bf27036ac4e.jar
│ │ ├── volley-596820a44248b4baf3f16013e99935d8.jar
│ │ ├── volley-6d3a390ab026b2986068fdbc58e2b52d.jar
│ │ ├── volley-81580f7a493d1752251c4d4824e37193.jar
│ │ ├── volley-c12dda353290f2bfc22758551553d61d.jar
│ │ └── volley-db278be06ec1bcbdeb5b76eca041bf72.jar
│ ├── EasyMusic_23.apk
│ ├── jarlist.cache
│ ├── res
│ │ └── crunch
│ │ ├── drawable
│ │ │ ├── cycle_list.png
│ │ │ ├── cycle_random.png
│ │ │ ├── cycle_single.png
│ │ │ ├── downloaded_music.png
│ │ │ ├── expanded.png
│ │ │ ├── music.png
│ │ │ ├── next.png
│ │ │ ├── play.png
│ │ │ ├── pre.png
│ │ │ ├── pull_for_refresh.png
│ │ │ ├── refresh1.png
│ │ │ ├── refresh2.png
│ │ │ ├── release_to_refresh.png
│ │ │ ├── rotate.png
│ │ │ └── unexpanded.png
│ │ ├── drawable-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi
│ │ │ └── ic_launcher.png
│ │ └── drawable-xxhdpi
│ │ └── ic_launcher.png
│ └── resources.ap_
├── gen
│ └── com
│ └── sprd
│ └── easymusic
│ ├── BuildConfig.java
│ └── R.java
├── ic_launcher-web.png
├── libs
│ ├── android-support-v4.jar
│ └── volley.jar
├── proguard-project.txt
├── project.properties
├── res
│ ├── anim
│ │ └── rotate.xml
│ ├── drawable
│ │ ├── cycle_list.png
│ │ ├── cycle_random.png
│ │ ├── cycle_single.png
│ │ ├── downloaded_music.png
│ │ ├── expandable_group_selector.xml
│ │ ├── expanded.png
│ │ ├── launcher.jpg
│ │ ├── music.png
│ │ ├── myshape.xml
│ │ ├── next.png
│ │ ├── play.png
│ │ ├── pre.png
│ │ ├── pull_for_refresh.png
│ │ ├── refresh1.png
│ │ ├── refresh2.png
│ │ ├── release_to_refresh.png
│ │ ├── rotate.png
│ │ └── unexpanded.png
│ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ ├── layout
│ │ ├── activity_main.xml
│ │ ├── downloadedmusiclist_item.xml
│ │ ├── downloadingmusiclist_item.xml
│ │ ├── downloadmusiclist.xml
│ │ ├── header_view.xml
│ │ ├── musiclist_item.xml
│ │ ├── musiclist.xml
│ │ ├── myprogresstest.xml
│ │ ├── netmusiclist_item.xml
│ │ ├── netmusic.xml
│ │ ├── notification.xml
│ │ ├── play_main.xml
│ │ ├── play.xml
│ │ ├── storedmusiclist_item.xml
│ │ └── storedmusiclist.xml
│ ├── menu
│ │ └── main.xml
│ ├── values
│ │ ├── arrays.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── values-v11
│ │ └── styles.xml
│ ├── values-v14
│ │ └── styles.xml
│ ├── values-w820dp
│ │ └── dimens.xml
│ └── xml
│ └── pref_settings.xml
└── src
└── com
└── sprd
└── easymusic
├── fragment
│ ├── DownloadFragment.java
│ ├── MusicListFragment.java
│ ├── NetFragment.java
│ └── StoredSongFragment.java
├── MainActivity.java
├── manager
│ └── EasyMusicManager.java
├── MusicSettings.java
├── MyApplication.java
├── mysql
│ └── MyDBHelper.java
├── myview
│ ├── CircleImageView.java
│ ├── LrcView.java
│ ├── MyProgressBar.java
│ └── RefreshableListView.java
├── PlayMusicActivity.java
├── service
│ └── MusicService.java
└── util
├── BitmapUtil.java
├── DownloadUtil.java
├── LoadImageTask.java
├── LrcLine.java
└── StringUtil.java
49 directories, 196 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论