Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列出特定文件夹的媒体文件、图像和视频_Java_Android_Android Fragments_Gallery - Fatal编程技术网

Java 列出特定文件夹的媒体文件、图像和视频

Java 列出特定文件夹的媒体文件、图像和视频,java,android,android-fragments,gallery,Java,Android,Android Fragments,Gallery,请给我一个完整的示例或代码,在grid view中列出特定文件夹中的所有媒体(如图像和视频)以及共享和删除选项。单击导航按钮时,我需要此活动。请添加额外的图像打开和视频播放选项 提前感谢。使用此类从特定文件夹获取所有图像和视频 public class ListImage{ // SDCard Path //choose your path for me i choose sdcard final String MEDIA_PATH = Environment.getExternalStorag

请给我一个完整的示例或代码,在grid view中列出特定文件夹中的所有媒体(如图像和视频)以及共享和删除选项。单击导航按钮时,我需要此活动。请添加额外的图像打开和视频播放选项


提前感谢。

使用此类从特定文件夹获取所有图像和视频

public class ListImage{
// SDCard Path
//choose your path for me i choose sdcard
final String MEDIA_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Your Folder Name/Path";
private ArrayList<ImageModel> imageList = new ArrayList<>();

// Constructor
public ListImage() {

}

public ArrayList<ImageModel> getPlayList() {

    File home = new File(MEDIA_PATH);
    if (home.listFiles(new FileExtensionFilter()) != null) {
        if (home.listFiles(new FileExtensionFilter()).length > 0) {
            for (File file : home.listFiles(new FileExtensionFilter())) {
                ImageModel imageModel = new ImageModel();
                imageModel .setaName(file.getName().substring(0, (file.getName().length() - 4)));
                imageModel .setaPath(file.getPath());

                imageList.add(imageModel);
            }
        }
    }
    return imageList;
}
class FileExtensionFilter implements FilenameFilter {
    public boolean accept(File dir, String name) {
        return (name.endsWith(".jpg") || name.endsWith(".JPG") || name.endsWith(".mp4") || name.endsWith(".MP4")); // add more conditions here
    }
   }
  }
在您的活动/片段中

private ArrayList<ImageModel> imagesList = new ArrayList<>();

ListImage listImage=new ListImage();
this.imagesList = listImage.getPlayList();


还要在清单中添加这些权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />


我们可以用它从私人文件夹中获取项目吗?你有任何工作的例子吗?我指的是完整代码。你指的是隐藏文件夹?是的,隐藏文件夹,它们在内存中不可见。能否发布完整代码?对于hiddn文件夹,请在路径字符串MEDIA_path=Environment.getExternalStorageDirectory().getAbsolutePath()+“/.Your folder Name”前面添加“.”;谢谢重播。请给我完整的代码与共享和删除选项。
 holder.deleteButton.setOnClickListener(v -> {
   String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Your Folder Name/Path" + listImage.getaName() + ".jpg";
                            File file= new File(path);
                            if (file.exists()) {
                                if (file.delete()) {
                                    //Toast.makeText(context, "File deleted", Toast.LENGTH_SHORT).show();
                                    viewUpdate(position);
                                    fragment.loadData();
                                } else {
                                    Toast.makeText(context, "file not Deleted", Toast.LENGTH_SHORT).show();
                                }
                            }
                          }
 public void viewUpdate(int position){
    notifyItemRemoved(position);
    list.remove(position);
    notifyItemRangeChanged(position, list.size());
}
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />