基于android的音乐APP大作业和设计指导项目
一 项目介绍
该项目是基于android的音乐APP,含有歌曲播放,歌曲停止,歌曲播放进度,时间进度,歌词滚动播放,加入我的喜欢,删除喜欢歌曲,根据歌曲名称和歌手搜索歌曲,热门关键搜索,每日系统自动推荐歌曲,用户登录,注册 等功能,界面设计 ,程序设计 都花了不少心思。给大家介绍介绍这款项目。
二 软件架构
(1)android studio开发
(2)数据库采用sqllit数据库
(3)jdk1.8以上
(4)gradle6.5
(5)夜神模拟器
三 项目功能图

四 项目流程图
项目流程: 下图是项目流程图.

五 项目的核心功能
注册功能:
进行APP用户的注册,填写用户的基本信息,比如用户名称,用户密码,电话号码,邮件信息。最后点击提交到数据库。

登录功能:
用户输入用户名和密码,点击登录的时候,进行登录系统。如果输入的用户名不存在或者密码错误,无法登录系统。

个人信息
展示个人的登录信息,比如展示登录人的用户名,电话,邮箱信息。
退出功能
点击退出功能,退出系统。返回登录页面。
歌曲列表:
展示歌曲的列表信息。比如展示歌名 ,歌手名,歌曲的总时间。歌曲的专辑信息。

歌曲播放:
播放歌曲,可以暂停歌曲,暂停之后,可以继续播放,还有歌曲进度条,可以拖动进度播放歌曲。还有歌曲的时间,随着播放进度的变化,时间跟着变化,支持上一首,下一首歌曲播放。
点击歌曲的时候,可以进入歌词页面,歌词会根据歌曲的播放进度 进行滚动播放。
歌词界面有 圆盘滚动效果,播放歌曲的时候,开发滚动滚动圆盘,停止播放的时候,停止滚动圆盘。

我的喜好:
可以收藏我喜好的歌曲,当然如果不喜欢的时候,可以删除我收藏的歌曲。
搜索歌曲:
该模块可以进行歌曲的搜索,可以根据歌曲的名称或者 歌手的名称,进行搜索歌曲,还可以根据热门的标签,进行搜索歌曲。

推荐歌曲:
每日会自动从歌曲库里面选出歌曲,放入推荐歌曲列表。如果你找不想查找歌曲,就可以到推荐歌曲里面播放歌曲。
核心代码:
//查询所有音乐
List<MusicEntity> musicList = queryAllMusicList(context);
//过滤得到所有的ids
List<Long> ids = musicList.stream().map(music -> {
return Long.valueOf(music.getId());
}).collect(Collectors.toList());
//目标数组
List<Long> resultIds = new ArrayList();
//随机选择5个id 加入目标数据
for(int i=0;i<5;i++) {
Long target = ids.get(new Random().nextInt(ids.size()));
resultIds.add(target);
ids.remove(target);
}
//根据id 得到完整的目标数组集合 就是推荐的集合音乐列表
List<MusicEntity> musicEntitys = new ArrayList<>();
//迭代循环数据
musicList.forEach(musicEntity->{
resultIds.forEach(id->{
if(Long.valueOf(musicEntity.getId()) == id){
musicEntitys.add(musicEntity);
}
});
});
项目获取 gitee地址
码云:
https://gitee.com/soul_PreCoder/accounts
这个项目是一个基于Android的音乐应用,包含了歌曲播放、暂停、进度控制、歌词滚动、用户登录注册等功能。使用Android Studio开发,搭配SQLite数据库,支持用户信息管理、歌曲列表展示、搜索及每日推荐歌曲。
5381

被折叠的 条评论
为什么被折叠?



