简易android音乐播放器

上传人:wt****50 文档编号:34696991 上传时间:2018-02-27 格式:DOC 页数:23 大小:150KB
返回 下载 相关 举报
简易android音乐播放器_第1页
第1页 / 共23页
简易android音乐播放器_第2页
第2页 / 共23页
简易android音乐播放器_第3页
第3页 / 共23页
简易android音乐播放器_第4页
第4页 / 共23页
简易android音乐播放器_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《简易android音乐播放器》由会员分享,可在线阅读,更多相关《简易android音乐播放器(23页珍藏版)》请在金锄头文库上搜索。

1、本音乐播放器实现播放列表和播放界面之间的跳转,由于本人是初学者,只能实现以下功能:自动获取播放列表、点击上一首、下一首、播放、暂停、音量调节、显示歌手、演唱者、拉动播放进度条、显示歌曲总长度、当前播放时间。代码如下:一、xml 文件(3 个)1. main.xml2. listitem.xml3. music_player.xml 二、 activity 文件(两个)1. MyListViewDemo.javapackage org.lxh.demo;import java.io.IOException;import java.util.ArrayList;import java.util.H

2、ashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.ContentResolver;import android.content.Intent;import android.database.Cursor;import android.media.MediaPlayer;import android.os.Bundle;import android.provider.MediaStore;import android.util.Log;impor

3、t android.view.View;import android.widget.AdapterView;import android.widget.ListView;import android.widget.Toast;import android.widget.AdapterView.OnItemClickListener;import android.widget.SimpleAdapter;public class MyListViewDemo extends Activity / private SimpleCursorAdapter adapter = null;private

4、 ListView datalist = null; / 定义 ListView 组件/ public void onCreate(Bundle savedInstanceState) / super.onCreate(savedInstanceState);/ super.setContentView(R.layout.main);/ this.datalist = (ListView) super.findViewById(R.id.datalist); / 取得组件/ ContentResolver resolver = getContentResolver();/ / 从 Conten

5、t Provider 中获得 SD 卡上的音乐列表/ Cursor cursor =/ resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,/ null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);/ /控制 Cursor/ startManagingCursor(cursor);/ String cols = new String MediaStore.Audio.Media.TITLE,/ MediaStore.Audio.Media.ARTIST,/ Me

6、diaStore.Audio.Media.DATA ;/ int ids = new intR.id.trackname, R.id.artist, R.id.path;/ adapter = new SimpleCursorAdapter(this, R.layout.listitem,/ cursor, cols, ids);/ / this.simplecursoradapter = new SimpleCursorAdapter(this, this.list,/ / R.layout.listitem, new String pic, title, author,/ / type,

7、score / Map 中的 key 的名称/ / , new int R.id.pic, R.id.title, R.id.author, R.id.type,/ / R.id.score ); / 是 data_list.xml 中定义的组件的资源 ID/ /this.datalist.setAdapter(this.simplecursoradapter);/ datalist.setAdapter(adapter);private List list = new ArrayList(); / 定义显示的内容包装private SimpleAdapter adapter = null;

8、/ 进行数据的转换操作public Cursor cursor;/ 1.使用 Mediastore 进行查询时,需要一个 curor。private String _paths;/ 13.建这个数组保存查询到的信息private String _titles;/ 14.建这个数组保存查询到的信息private String _artists;/ 15.建这个数组保存查询到的信息private MediaPlayer mediaPlayer;public int position = 0;private static final int code = 1;/* 获取音乐文件的方法 */publi

9、c void getMusicFile() / 3.获取音乐文件的方法cursor = this.getContentResolver().query(/ 4.要实现contenresolver 这个查询接口的话就要用 curorMediaStore.Audio.Media.EXTERNAL_CONTENT_URI,/ 5./ uri 是系统提供给我们的,可以看一下帮助文档,系统给我们提供了两个 uri,/ 一个是查询外部 sd 卡的 uri,一个是查询手机本身内部文件的 uri。我们现在所使用的是查询外部的 uri。new String MediaStore.Audio.Media.DATA

10、,/ 6.查询列,在这里我们这保存三项,Data 是歌曲的保存路径MediaStore.Audio.Media.TITLE,/ 7.查询歌曲名称MediaStore.Audio.Media.ARTIST / 8.查询歌唱者, null, null, null);/ 9.这三项表示查询条件,设置为 null 表示查询所有的。startManagingCursor(cursor);if (cursor != null | cursor.getCount() = 0) / 10.判断查询长度是否为空。即:查询是否有音乐文件。/ Toast.makeText(this, 没有音乐文件, Toast.L

11、ENGTH_SHORT).show();/ Log.i(TAG, 没有音乐文件);/ 11.将信息查询到的结果打印在控制台上_paths = new Stringcursor.getCount();/ 16.对数组进行初始化,数组的长度就是 curor 的长度_titles = new Stringcursor.getCount();/ 16.对数组进行初始化,数组的长度就是 curor 的长度_artists = new Stringcursor.getCount();/ 16.对数组进行初始化,数组的长度就是 curor 的长度cursor.moveToFirst();/ 17.将 cur

12、sor 的游标移到第一位for (int i = 0; i map = new HashMap(); / 定义 Map 集合,保存每一行数据map.put(trackname, _titlesx); / 与 data_list.xml 中的TextView 组加匹配map.put(artist, _artistsx); / 与 data_list.xml 中的TextView 组加匹配map.put(path, _pathsx); / 与 data_list.xml 中的 TextView组加匹配/ map.put(type,this.data2x0);/ map.put(score, thi

13、s.data2x1);this.list.add(map); / 保存了所有的数据行this.adapter = new SimpleAdapter(this, this.list, R.layout.listitem,new String trackname, artist, path / Map 中的 key 的名称, new int R.id.trackname, R.id.artist, R.id.path ); / 是 data_list.xml 中定义的组件的资源 IDthis.datalist.setAdapter(this.adapter);/* 实现监听部分 */this.d

14、atalist.setOnItemClickListener(new OnItemClickListener() Overridepublic void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) / TODO Auto-generated method stubIntent it = new Intent(getApplicationContext(),MusicPlayer.class);/ MyListViewDemo.this.startActivity(it);Bundle bd = new Bundle(

15、);bd.putInt(name, arg2);it.putExtras(bd); / it.putExtra(“test”, shuju”);startActivity(it);/ startActivityForResult(it, code););/* 实现监听部分 */ Override/ protected void onActivityResult(int requestCode, int resultCode, Intent data) / super.onActivityResult(requestCode, resultCode, data);/ if (requestCode = code) / if (resultCode =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号