Android应用----音乐播放器----个人第一个完整的项目
2016-10-09 10:42
274 查看
<pre name="code" class="html">
从开始学习Android之后,学到了什么也没总结过,那么利用找工作的空闲时间,就写写个人的第一个项目:既可以巩固知识以防止忘记,还可以分享出来以帮助更多人学习,
先来看看完成后的主体效果图。
一,音乐播放器的布局整个布局比较简单,就不一一赘述了。会把源码链接发上来
CSDN下载地址:点击打开链接
有需要的朋友可以下载参考。
第一张是主界面,第二张是播放时的界面,第三张是搜索歌曲时的界面。三个界面都写在一个XML文件里了,可能有人觉得很乱,isibility="invisible"一开始设置为隐藏就看不见了界面了。如果不想隐藏就设置为这个项目的话第二张和第三张效果图暂时是隐藏的。只有当监听事件触发了,界面才会出现。圆形图片是怎么来的呢?其实很简单,只需要用前辈们有很多绘制好的了,直接复制CircleImageView这个类过来用就好,<cn.tedu.ui.CircleImageView>
标签名是包名+类名需要手动填写
<cn.tedu.ui.CircleImageView
android:id="@+id/ivCMPic"
android:layout_width="46dp"
android:layout_height="46dp"
android:layout_marginLeft="24dp"
android:layout_marginTop="7dp"
android:onClick="doClick"
android:src="@drawable/timg" />
下面一段代码是红色箭头的监听触发事件。触发的动作可以任意发挥。(平滑,弹跳,淡入淡出等等),比较简单就不细说了,不懂得同志请请百度吧。
/** * 添加监听 * @param view */ public void doClick(View v) { switch (v.getId()) { case R.id.ivCMPic://点击圆形图标 弹出播放界面 relativePlayMusic.setVisibility(View.VISIBLE);//一开始是隐藏,当点击之后,界面显示。 ScaleAnimation scaleAnimation = new ScaleAnimation(0.1f, 1f, 0.1f, 1f, 0, relativePlayMusic.getHeight()); scaleAnimation.setDuration(550); //设置动作 scaleAnimation.setInterpolator(new AccelerateInterpolator()); relativePlayMusic.startAnimation(scaleAnimation); break; case R.id.ibSearch: //搜索音乐 searchMusic(); break; case R.id.btnToSearch: //去搜索 显示搜索界面 relativeSearchMusic.setVisibility(View.VISIBLE); TranslateAnimation anim2 = new TranslateAnimation(0, 0, -relativeSearchMusic.getHeight(), 0); anim2.setDuration(550); relativeSearchMusic.startAnimation(anim2); break; case R.id.btnCancel: //点击了取消 relativeSearchMusic.setVisibility(View.INVISIBLE); TranslateAnimation anim3 = new TranslateAnimation(0, 0, 0, -relativeSearchMusic.getHeight()); anim3.setDuration(350); relativeSearchMusic.startAnimation(anim3); break; } }
在Android中显示列表,需要用的ListView和Adapter。音乐列表成功显示之后,要做的是能够实现条目点击能够放歌曲。
定义一个继承Service的服务类PlayerMusicServie。用服务调用MediaPlayer提供的方法,完成播放歌曲的需求。关于音乐列表的获取,不同的音乐播放器都会有不同的方案,有的是有多重方案并用。例如说,Android本身有媒体库,可以全盘扫描音乐格式文件,也可以通过网络获取音乐等。通过API文档获取网络上的音乐数据是很常见的一种方式。这里就列举用到的两个百度音乐的接口,一个新歌榜,一个热歌榜。
新歌榜的接口
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=1&offset=0&size=50
热歌榜的接口
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=2&offset=0&size=50
type= 整数获取不同的榜单。
相关文章推荐
- 第一个独立开发的完整Android应用总结。Monitor项目开发系列总结之项目概况
- Android 完整开源应用大全,完整开源项目
- Android 完整开源应用大全,完整开源项目
- Android 完整开源应用,完整开源项目
- 个人负责的第一个地图应用项目框架截图
- 第一个个人android应用基本完成上线,准备第二个应用
- android自学笔记 开始--->第一个应用--->第一个项目
- Android 完整开源应用大全,完整开源项目
- Android 实战 - 个人APP乐逗项目(内部音乐播放器实现,开源MaskProgressView使用)
- 创建第一个Android应用项目并认识项目的文件结构
- 项目清单文件分析与第一个ANDROID应用的启动过程
- 10个值得深入的Android应用开源项目
- Android开发者必须深入学习的10个应用开源项目
- Android开发者必须深入学习的10个应用开源项目
- Android开发者必须深入学习的10个应用开源项目
- Android 小项目之--Mini音乐播放器【简单版】(附源码)
- Android开发者应该深入学习的10个开源应用项目【ZZ】
- Android开发者必须深入学习的10个应用开源项目
- Android开发者必须深入学习的10个应用开源项目
- Android开发者应该深入学习的10个开源应用项目_IT新闻_博客园