黑马程序员安卓教程:音乐播放器之编写框架
我们已了解Service的原理和使用方法,下面就通过一个综合的案例来进一步掌握Service在项目中的编写方法。
设计需求:编写一个音乐播放器项目,实现功能:列表展示待播放的音乐,当点击列表中的某一条音乐时则后台开启一个服务用来播放该音乐。具体实现步骤如下:
1.新建工程
【File】→【new】→【Android Application Project】命名为:03_百度音乐盒
2.编写布局文件
根据需求编写布局,效果如图1-1所示:
图1-1所示
图1-1对应的xml布局代码如例1-1:
3.查找控件
在主Activity中,根据控件的ID查找相关控件,代码如例1-2:
4.编写实体bean
新建一个包(com.itheima.baidubox.domain),在该包下新建一实体bean,用来封装每一首音乐信息。代码如例1-3:
例1-3
例1-3是一个实体类,我们定义了该实体的name属性和path属性,并重写了其get方法和set方法。同时,还在重写了该类的构造方法(无参构造方法和有参构造方法)。
5.编写适配器
ListView 要展示待播放的音乐,我们需要调用ListView的setAdapter方法将待播放音乐部署到该ListView中。具体步骤如下:
模拟ListView数据源,代码如例1-4
例1-4中new一个List 集合,然后向该集合中添加多个MusicInfo实体对象。至此,数据源List集合已经编写完成,接下来就是编写适配器。本例中,我们通过继承BaseAdapter来编写自己的适配器MyAdapter。代码如例1-5所示:
例1-5
例1-5中MyAdapter继承BaseAdapter,并重写了getCount方法和getView方法,getCount方法返回了ListView列表中条目的数据,本例中就是数据源List集合的大小;getView方法返回了每一个条目的显示内容,本例new一个TextView用来展示待播放音乐的名称。
6.数据部署
适配器已经编写完成,最后就是通过该适配器将数据部署在ListVIew中,代码如例1-6:
数据部署完成之后,我们接下来就是编写ListView的点击事件了,代码如例1-7所示:
运行程序,当点击列表中的条目时,效果如图1-2所示:
图1-2所示