IT评测·应用市场-qidao123.com
标题:
【Android Studio】开发——音乐播放器界面设计
[打印本页]
作者:
万万哇
时间:
2025-1-9 16:28
标题:
【Android Studio】开发——音乐播放器界面设计
一.效果实现图
app页面:
项目布局图:
二.视频效果展示
三.功能说明
主页面点击后进入播放页面,播放页面中心为可滑动的音乐列表,底部可对音乐举行播放和暂停
需要实现的功能:
(1)Activity之间的跳转
(2)recycleview的滑动效果
(3)server服务实现音乐播放
四.功能实现
(1)Activity之间的跳转:
设置2个activity,并通过点击button实现activity的跳转
(2)recycleview的滑动效果
1. 添加依赖
implementation ("androidx.recyclerview:recyclerview:1.3.0")
复制代码
2. 设置 XML 布局
在播放页面的 XML 布局文件中添加 RecyclerView,并编写item相关布局文件的xml
item的xml文件效果图
3.设置数据类和适配器
设置数据类
:根据需求创建一个数据类,用于存储每个Item的数据。比方,可以创建一个简朴的Java类来表示每个Item的数据。
创建适配器
:适配器(Adapter)负责将数据集转换成RecyclerView可以展示的视图。适配器需要继承RecyclerView.Adapter类,并实现其三个核心方法:onCreateViewHolder、onBindViewHolder和getItemCount。
数据类代码:
package com.example.myapplication;
public class LocalMusicBean {
private int headId;
private String song;
private String singer;
public LocalMusicBean() {
}
public LocalMusicBean(int headId, String song, String singer) {
this.headId = headId;
this.song = song;
this.singer = singer;
}
public int getId() {
return headId;
}
public void setId(int headId) {
this.headId = headId;
}
public String getSong() {
return song;
}
public void setSong(String song) {
this.song = song;
}
public String getSinger() {
return singer;
}
public void setSinger(String singer) {
this.singer = singer;
}
}
复制代码
4.在Activity或Fragment中设置RecyclerView
在Activity或Fragment的onCreate方法中,找到RecyclerView控件,并设置其LayoutManager和Adapter
RecyclerView recyclerView = findViewById(R.id.local_music_rv);
List<LocalMusicBean> mDatas = new ArrayList<>();
LocalMusicBean music1= new LocalMusicBean(R.drawable.firework,"firework","Katy Perry");
LocalMusicBean music2= new LocalMusicBean(R.drawable.gnzw,"光年之外","邓紫棋");
LocalMusicBean music3= new LocalMusicBean(R.drawable.goodbye,"再见","邓紫棋");
LocalMusicBean music4= new LocalMusicBean(R.drawable.rbl,"日不落","蔡依林");
LocalMusicBean music5= new LocalMusicBean(R.drawable.roar,"Roar","Katy Perry");
LocalMusicBean music6= new LocalMusicBean(R.drawable.wg,"white grey","Xceon");
LocalMusicBean music7= new LocalMusicBean(R.drawable.withoutyou,"without you","Avicii");
LocalMusicBean music8= new LocalMusicBean(R.drawable.ld,"last dance","500");
mDatas.add(music1);
mDatas.add(music2);
mDatas.add(music3);
mDatas.add(music4);
mDatas.add(music5);
mDatas.add(music6);
mDatas.add(music7);
mDatas.add(music8);
LocalMusicAdapter localMusicAdapter = new LocalMusicAdapter(this,mDatas);
LinearLayoutManager layoutManager= new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(localMusicAdapter);
复制代码
(3)server服务实现音乐播放
server服务代码:
public class MyService extends Service {
MediaPlayer mediaPlayer;
public MyService() {
}
@Override
public int onStartCommand(Intent intent,int flags,int startId){
mediaPlayer=MediaPlayer.create(this,R.raw.firework);
mediaPlayer.start();
Log.d("MusicService","开始播放");
return super.onStartCommand(intent,flags,startId);
}
@Override
public void onDestroy(){
Log.d("MusicService","停止播放");
mediaPlayer.stop();
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
}
复制代码
五.出现的题目
在写代码的过程中,大部分题目都是细节没有理解导致的错误,但在把代码传入github时,出现报错kex_exchange_identification: Connection closed by remote host
与github网站连接失败
解决办法:
把现在所使用的网络的dns服务器地点从自动获取改为144.144.144.144
六.总结与改进
本次android开发对我来说是一次全新的体验,打仗开发让我知道该怎样举行多人互助完成一个项目,过程中也有不少的难点与困难。对于本次的app,接下来我会添加新的功能,让recyclerview中的item和底部播放举行联动,并实现点击音乐图片,进入音乐详情页。
七.源代码地点
代码已上传git,下行点击进入
github源码地点
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4