当前位置: 代码迷 >> Android >> Android音乐播放器-播放列表之兑现
  详细解决方案

Android音乐播放器-播放列表之兑现

热度:21   发布时间:2016-05-01 14:29:48.0
Android音乐播放器--播放列表之实现
  经过一上午的时间,播放列表算是初步搞定了,不过一定还有很多Bug要慢慢解决,下面是代码,希望大家指出不足和错误。。(我没有用到mediaStore多媒体数据库,算是最大的不足,只是用自己建的数据库,来保存歌曲的地址)
public class DBService {	public static void save(String name,Context context){          //把歌曲添加到数据库		MusicDBOpenHelper helper=new MusicDBOpenHelper(context);		SQLiteDatabase db=	helper.getReadableDatabase();		db.execSQL("insert into music(music_name)values(?)",new Object[]{name});		db.close();	} 	public static List<Music> findAll(Context context){            //查找出数据库中的所有列表		List<Music> musics =new ArrayList<Music>();		MusicDBOpenHelper helper=new MusicDBOpenHelper(context);		SQLiteDatabase db=	helper.getReadableDatabase();		Cursor  cursor=db.rawQuery("select * from music", null);		while(cursor.moveToNext()){			Music music=new Music();			music.setId(cursor.getInt(0));			music.setMusicName(cursor.getString(1));			musics.add(music);		}		return musics;	} }
这个类操作数据库的,用来添加和查找歌曲的地址。(没有完善。。。)
public class MusicDBOpenHelper extends SQLiteOpenHelper {	private static final String name="musics";	private static final int version=1;	public MusicDBOpenHelper(Context context) {		super(context, name, null, version);		// TODO Auto-generated constructor stub	}	@Override	public void onCreate(SQLiteDatabase db) {		// TODO Auto-generated method stub		db.execSQL("create table IF NOT EXISTS  music (id integer primary key autoincrement,music_name char(20))");	}	@Override	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {		// TODO Auto-generated method stub		db.execSQL("drop table IF EXISTS  student");		onCreate(db);	}}
用来建数据库和版本控制。。
 public void addList()                      //把数据库中的音乐信息加入播放列表。	  {		  List<Music> musics =new ArrayList<Music>();		  musics=DBService.findAll(MusicPalyerActivity.this);		  List<HashMap<String,String>> data=new ArrayList<HashMap<String,String>>();		  		  for(Music music:musics){			  HashMap<String,String> map=new HashMap<String,String>();			  map.put("id",String.valueOf(music.getId()));	          map.put("music_name", music.getMusicName());	          data.add(map);		  }		  		  SimpleAdapter adapter=new SimpleAdapter(MusicPalyerActivity.this, data, R.layout.music_items, new String[]{"id","music_name"}, new int[]{R.id.musicId,R.id.musicName});		  		 		  listView.setAdapter(adapter);		  		  		  listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {				@Override				public void onItemClick(AdapterView<?> parent, View view,						int position, long id) {					ListView listView=(ListView)parent;					HashMap<String,String>  map=(HashMap<String,String>)listView.getItemAtPosition(position);															playMusic(map.get("music_name"));           //播放单击选择的歌曲									}	        				});		  	  }
  相关解决方案