音乐播放器
java代码
package com.example.muzeike;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.Manifest;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private List<String> list = new ArrayList<>();
private List<JavaBean> lisst = new ArrayList<>();
private ListView lv;
private BaseAdapter base;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1);
lv = (ListView) findViewById(R.id.lv);
// registerForContextMenu(lv);
Uri uri = Uri.parse(String.valueOf(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI));
ContentResolver contentResolver = getContentResolver();
Cursor query = contentResolver.query(uri, null, null, null, null);
if (query!=null){
while(query.moveToNext()){
String muname = query.getString(query.getColumnIndex(MediaStore.Audio.Media.TITLE));
String name = query.getString(query.getColumnIndex(MediaStore.Audio.Media.ARTIST));
String time = query.getString(query.getColumnIndex(MediaStore.Audio.Media.DURATION));
// list.add(muname);
// list.add(name);
// list.add(time);
JavaBean javaBean = new JavaBean(muname,name,time);
lisst.add(javaBean);
}
}
lv.setAdapter(base= new BaseAdapter() {
LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this);
@Override
public int getCount() {
return lisst.size();
}
@Override
public Object getItem(int i) {
return lisst.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder viewHolder;
if (view==null){
viewHolder = new ViewHolder();
view = layoutInflater.inflate(R.layout.item,null);
viewHolder.textView1 = view.findViewById(R.id.tv1);
viewHolder.textView2 = view.findViewById(R.id.tv2);
viewHolder.textView3 = view.findViewById(R.id.tv3);
view.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) view.getTag();
}
viewHolder.textView1.setText(lisst.get(i).getMuname());
viewHolder.textView2.setText(lisst.get(i).getName());
viewHolder.textView3.setText(lisst.get(i).getTime());
return view;
}
});
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(final AdapterView<?> adapterView, View view, final int i, long l) {
// PopupWindow popupWindow = new PopupWindow(MainActivity.this);
//
// View inflate = LayoutInflater.from(MainActivity.this).inflate(R.layout.item2, null);
// popupWindow.setContentView(inflate);
// popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
// popupWindow.setWidth(600);
//
// popupWindow.setOutsideTouchable(true);
//
// popupWindow.showAsDropDown(lv,250,250);
//
final View view1 = LayoutInflater.from(MainActivity.this).inflate(R.layout.item2,null);
Button b = view1.findViewById(R.id.bt);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setView(view1);
final AlertDialog alertDialog = builder.create();
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
lisst.remove(i);
base.notifyDataSetChanged();
alertDialog.dismiss();
}
});
alertDialog.show();
return false;
}
});
}
// @Override
// public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
// getMenuInflater().inflate(R.menu.item,menu);
// super.onCreateContextMenu(menu, v, menuInfo);
// }
private class ViewHolder {
private TextView textView1,textView2,textView3;
}
}
package com.example.muzeike;
public class JavaBean {
private String muname;
private String name;
private String time;
public JavaBean() {
}
public JavaBean(String muname, String name, String time) {
this.muname = muname;
this.name = name;
this.time = time;
}
public String getMuname() {
return muname;
}
public void setMuname(String muname) {
this.muname = muname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}