当前位置: 首页 > 科技观察

简单的音乐播放器源码下载

时间:2023-03-18 16:34:39 科技观察

功能分类:视听支持平台:Android运行环境:Android开发语言:Java开发工具:Eclipse源代码大小:7.88M源代码介绍一款学习使用的音乐播放器,登录密码为123。源代码截图操作登录音乐列表显示播放界面收藏界面源码片段packagecom.xue.Mp3Player;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.AlertDialog.Builder;importandroid.app.ExpandableListActivity;importandroid.content.Context;importandroid.content.DialogInterface;importandroid.content.DialogInterface.OnClickListener;importandroid.os.AsyncTask;importandroid.os.Bundle;importandroid.view.KeyEventimportandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.BaseExpandableListAdapter;importandroid.widget.ExpandableListV查看;importandroid.widget.ImageButton;importandroid.widget.TextView;importandroid.widget.Toast;importcom.xue.Mp3Player.R;importcom.xue.Mp3Player.Utils.DataUtils;importcom.xue.Mp3Player.Utils.MyApplication;importcom.xue.Mp3Player.Utils.PlayUtils;publicclassMyMusicListActivityextendsExpandableListActivity{privateExpandableListViewmyMusicListView;privateArrayList>groupsList;privateList>>childsList;publicstaticMyMusicListAdapterlistAdapter;privatestaticContextcontext;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.mymusic_list_layout);myMusicListView=getExpandableListView();context=this;groupsList=newArrayList>();HashMapgroup1=newHashMap();group1.put("name","旧城");HashMapgroup2=newHashMap();group2.put("name","旧梦");HashMapgroup3=newHashMap();group3.put("name","旧人");//设置收藏类groupsList.add(group1);groupsList.add(group2);groupsList.add(group3);childsList=newArrayList>>();childsList.add(MyApplication.getHappyMusicList());childsList.add(MyApplication.getQuietMusicList());childsList.add(MyApplication.getSadMusicList());listAdapter=newMyMusicListAdapter(this,groupsList,childsList);myMusicListView.setAdapter(listAdapter);}publicstaticContextgetContext(){returncontext;}@OverridepublicbooleanonChildClick(ExpandableListViewparent,Viewv,intgroupPosition,intchildPosition,longid){HashMapmap=childsList.get(groupPosition).get(childPosition);if(map.get("name").equals(PlayService.name)&&MyApplication.playStatus==1){Toast.makeText(context,"正在播放...",0).show();}else{booleanb=PlayUtils.addMusicToList(context,map,MyApplication.getPlayMusicList());if(b){PlayMusicListActivity.myListAdapter.notifyDataSetChanged();PlayUtils.turnToPlay(map,context);}}returnsuper.onChildClick(parent,v,groupPosition,childPosition,id);}publicbooleanonKeyDown(intkeyCode,android.view.KeyEventevent){if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){backDialog();}returnfalse;};@OverrideprotectedvoidonDestroy(){DataUtils.upData_allLists();super.onDestroy();}publicvoidbackDialog(){AlertDialog.Builderbuilder=newBuilder(this);builder.setMessage("确认退出吗?");builder.setTitle("提示");builder.setPositiveButton("确认",newOnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();((Activity)context).finish();newAsyncTask(){@OverrideprotectedVoiddoInBackground(Void...params){if(MyApplication.playStatus!=0){PlayService.stop();//PlayService.player.release();}DataUtils.upData_allLists();returnnull;}}.execute();}});builder.setNegativeButton("取消消",newOnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();}});builder.create().show();}classMyMusicListAdapterextendsBaseExpandableListAdapter{privateContextcontext;privateList>groups;privateList>>childs;privatechildViewsHolderchildHolder;privateGroupViewsHoldergroupHolder;publicMyMusicListAdapter(Contextcontext,List>groups,List>>childs){this.context=context;this.groups=groups;this.childs=childs;}privateclasschildViewsHolder{TextViewchildText;ImageButtonchildButton;}publicObjectgetChild(intarg0,intarg1){returnchilds.get(arg0).get(arg1);}publiclonggetChildId(intgroupPosition,intchildPosition){returnchildPosition;}publicvoidremoveChildItem(intgroupPosition,intchildPosition){childs.get(groupPosition).remove(childPosition);this.notifyDataSetChanged();}publicViewgetChildView(intgroupPosition,intchildPosition,booleanisLastChild,ViewconvertView,ViewGroupparent){if(convertView!=null){childHolder=(childViewsHolder)convertView.getTag();}else{childHolder=newchildViewsHolder();LayoutInflaterinflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);convertView=inflater.inflate(R.layout.mymusic_childs_layout,null);childHolder.childText=(TextView)convertView.findViewById(R.id.text_childItem);childHolder.childButton=(ImageButton)convertView.findViewById(R.id.button_deleteChildItem);convertView.setTag(childHolder);}HashMapchildItem=childs.get(groupPosition).get(childPosition);if(childItem!=null){Stringname=(String)childItem.get("name");childHolder.childText.setText(name);childHolder.childButton.setOnClickListener(newchildItemOnClick(团体Position,childPosition));}returnconvertView;}publicclasschildItemOnClickimplementsandroid.view.View.OnClickListener{privateintgroupPosition;privateintchildPosition;publicchildItemOnClick(intgroupPosition,intchildposition){this.groupPosition=groupPosition;this.childPosition=childposition;}publicvoidonClick(Viewv){removeChildItem(groupPosition),childPosition);}}publicintgetChildrenCount(intgroupPosition){returnchilds.get(groupPosition).size();}publicObjectgetGroup(intgroupPosition){returngroups.get(groupPosition);}publicintgetGroupCount(){returngroups.size();}publiclonggetGroupId(intgroupPosition)){returngroupPosition;}privateclassGroupViewsHolder{TextViewgroupText;ImageButtongroupButton;}publicViewgetGroupView(intgroupPosition,booleanisExpanded,ViewconvertView,ViewGroupparent){if(convertView!=null){groupHolder=(GroupViewsHolder)convertView.getTag();}else{groupHolder=newGroupViewsHolder();LayoutInflaterinflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);convertView=inflater.inflate(R.layout.mymusic_groups_layout,null);groupHolder.groupText=(TextView)convertView.findViewById(R.id.text_groupItem);groupHolder.groupButton=(ImageButton)convertView.findViewById(R.id.button_playAll);convertView.setTag(groupHolder);}HashMapmap=groups.get(groupPosition);if(map!=null){Stringname=(String)map.get("名称");groupHolder.groupText.setText(名称);groupHolder.groupButton.setOnClickListener(newGroupOnClick(groupPosition));}returnconvertView;}classGroupOnClickimplementsView.OnClickListener{privateintposition;publicGroupOnClick(intposition){this.position=position;}publicvoidonClick(Viewv){switch(position){case0:PlayUtils.turnToPlay_List(context,MyApplication.getHappyMusicList());break;case1:PlayUtils.turnToPlay_List(context,MyApplication.getQuietMusicList());break;case2:PlayUtils.turnToPlay_List(context,MyApplication.getSadMusicList());布雷亚k;default:break;}}}publicbooleanhasStableIds(){//TODOAuto-generatedmethodstubreturnfalse;}publicbooleanisChildSelectable(intgroupPosition,intchildPosition){//TODOAuto-generatedmethodstubreturntrue;}}}源码下载地址:http://down.51cto.com/data/1968750