Я хочу построить диспетчер файлов. Я получаю список всех файлов, используя ContentResolver
. Например, я получаю все аудиофайлы следующим образом:
private void getMusic(){
ContentResolver contentResolver=getContentResolver();
Uri songUri= MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor songCursor=contentResolver.query(songUri,null,null,null,null);
if(songCursor!=null && songCursor.moveToFirst()){
Log.e(TAG,"if :");
int songTitle=songCursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
int songPath=songCursor.getColumnIndex(MediaStore.Audio.Media.DATA);
do{
String currentTitle=songCursor.getString(songTitle);
Uri currentPath=Uri.parse(songCursor.getString(songPath));
models.add(new model(currentTitle,currentPath));
adapter.notifyDataSetChanged();
}while (songCursor.moveToNext());
}
}
Я пишу этот метод для удаления файла,но у меня не сработало. Я также получаю от пользователя ЗАПИСЬ и ЧИТАТЬ внешнее разрешение.
private void deleteItem(int position){
File fdelete = new File(models.get(position).getPath().toString());
if (fdelete.exists()) {
boolean flag=fdelete.delete();
if (flag) {
models.remove(models.get(position));
adapter.notifyDataSetChanged();
disableSelectionMode();
Toast.makeText(this,"File successfully deleted.",Toast.LENGTH_SHORT).show();
} else {
disableSelectionMode();
Toast.makeText(this,"File did not deleted!",Toast.LENGTH_SHORT).show();
}
}
}
И это моя модель:
public class model {
private int id;
private String title;
private Uri path;
public model(String title, Uri path) {
this.title = title;
this.path = path;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Uri getPath() {
return path;
}
public void setPath(Uri path) {
this.path = path;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}