Android 音乐播放器设计

您所在的位置:网站首页 基于安卓音乐播放器的设计思路 Android 音乐播放器设计

Android 音乐播放器设计

2024-07-12 14:35| 来源: 网络整理| 查看: 265

Android 音乐播放器设计 自动打入本地音乐文件支持切歌功能返回后继续播放代码注释详细借助日志工具方便调试

Android 音乐播放器设计 UI设计功能需求设计想法 关于布局关于活动 代码

UI设计

主界面 这里写图片描述

播放界面 这里写图片描述 功能需求 主界面需要显示歌曲的名字、艺术家、歌曲长度播放界面需要有播放、暂停、切到前一首歌、切到后一首歌、返回、分享、歌曲名、歌手播放界面的播放和暂停按钮设置在同一个地方,放歌时显示暂停按钮,暂停时显示播放按钮从播放界面返回主界面时需要继续播放歌曲在主界面点击一首歌后,就立即开始播放 设计想法

activity文件:

MainActivity.java : 主界面,用于显示歌曲列表MusicActivity.java : 播放界面,显示歌曲的具体信息,实现切歌、暂停等功能

class文件:

GetSongs.java : 获取手机内存及SD卡中所有的歌曲Song.java : 歌曲的实体类,储存歌曲信息SongAdapter : 自定义的适配器,继承自ArrayAdpter,泛型指定为Song类,完成ListView控件的实现

layout文件: - activity_main.xml : 主界面的layout设计 - activity_music.xml : 播放界面的layout设计 - song_item.xml : 此布局包括了一个Imageview用来显示歌曲图片,三个TextView用来显示歌曲的信息

关于布局 设计界面时需要用到一些图标,可以将按钮的背景设为矢量图。 图标可以在阿里巴巴矢量图下载主界面采用ListView控件,定制ListView的界面。 具体步骤: - 在activity_main.xml添加ListView控件 - 定义一个实体类Song - 创建一个布局song_item.xml,用于ListView子项的显示 布局形式: 采用线性布局和相对布局嵌套使用 关于活动

1、 如果实现MainActivity与MusicActivity的数据交流: 采用JSON的方式,具体可参考 如何导入JSON包 Activity与Intent之间传递自定义数据 在MainActivity中发送:

``` java //调用MusicActivity Intent intent = new Intent(MainActivity.this,MusicActivity.class); intent.putExtra("Song_position",new Gson().toJson(position));//传递这首歌的位置 intent.putExtra("Song",new Gson().toJson(songSelected));//传递这首歌的具体信息 intent.putExtra("Song_list",new Gson().toJson(songList));//传递整个歌曲列表 //启动活动 startActivity(intent); ```

在MusicActivity中接收:

Intent intent = getIntent(); String JsonData = intent.getStringExtra("Song"); songSelected = new Gson().fromJson(JsonData, Song.class); //接收选中的歌曲信息 String JsonData2 = intent.getStringExtra("Song_position"); songPosition = new Gson().fromJson(JsonData2, int.class); //接收选中的歌曲在列表中的位置 String JsonData3 = intent.getStringExtra("Song_list"); songList = new Gson().fromJson(JsonData3, new TypeToken(){}.getType()); //接收整个歌曲列表

2、 如何实现从MusicActivity返回后继续播放: 方法一: 将MusicActivity的启动模式设置为singleInstance: 这样MusicActivity将单独存在于一个返回栈中,在与MainActivity相互转换的时候,MusicActivity活动仍然存在不会被摧毁。 设置方法是在AndroiManifest.xml中对MusicActivity设置为:

方法二: 将在MusicActivity中接收的数据定义成静态变量,这样即使MusicActivity活动被摧毁,建立的MediaPlayer对象以及Song对象都能保存下来。

代码

点击下载



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3