Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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 应用程序在SD卡内找不到图像目录_Java_Android - Fatal编程技术网

Java 应用程序在SD卡内找不到图像目录

Java 应用程序在SD卡内找不到图像目录,java,android,Java,Android,大家好,我正在创建一个将在gridview中显示图像的应用程序,但问题是该应用程序无法在SD卡中找到图像的目录 这是代码 public class Utils { private Context _context; public Utils(Context context) { this._context = context; } public ArrayList<String> getFilePaths() { ArrayList<String>

大家好,我正在创建一个将在gridview中显示图像的应用程序,但问题是该应用程序无法在SD卡中找到图像的目录

这是代码

public class Utils {

private Context _context;

public Utils(Context context) {
    this._context = context;
}

public ArrayList<String> getFilePaths() {
    ArrayList<String> filePaths = new ArrayList<String>();

    File directory = new File(android.os.Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator
                                + AppConstant.PHOTO_ALBUM);

    if(directory.isDirectory()) {
        File[] listFiles = directory.listFiles();

    if(listFiles.length > 0) {

        for(int i = 0; i < listFiles.length; i++) {

            String filePath = listFiles[i].getAbsolutePath();

            if(IsSupportedFile(filePath)) {
                filePaths.add(filePath);
            }

            }

        }
    else {
        Toast.makeText(_context, AppConstant.PHOTO_ALBUM + "is empty. Please load some images", Toast.LENGTH_LONG).show();
        }
    }
    else {
        AlertDialog.Builder alert = new AlertDialog.Builder(_context);
        alert.setTitle("Error!");
        alert.setMessage(AppConstant.PHOTO_ALBUM + " directory path is not valid!");
        alert.setPositiveButton("OK", null);
        alert.show();
    }
    return filePaths;
}

private boolean IsSupportedFile(String filePath) {
    String ext = filePath.substring((filePath.lastIndexOf(".") + 1), filePath.length());

    if(AppConstant.FILE_EXTENSION.contains(ext.toLowerCase(Locale.getDefault()))) 
        return true;
    else
        return false;
}

public int getScreenWidth() {
    int columnWidth;

    WindowManager wm = (WindowManager) _context.getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();

    final Point point = new Point();
    try {
        display.getSize(point);
    } catch(java.lang.NoSuchMethodError ignore) {
        point.x = display.getWidth();
        point.y = display.getHeight();
    }

    columnWidth = point.x;
    return columnWidth;
}
公共类Utils{
私人语境(private Context)(私人语境);;
公共UTIL(上下文){
这._context=context;
}
公共ArrayList GetFilePath(){
ArrayList filepath=新的ArrayList();
File directory=新文件(android.os.Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator
+AppConstant.相册);
if(directory.isDirectory()){
File[]listFiles=directory.listFiles();
如果(listFiles.length>0){
对于(int i=0;i

希望您能帮我解决这个问题。我不知道如何通过使用该功能访问SD卡要写入外部存储,您必须在清单中声明:

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

我看不到您的代码存在任何问题。请确保用户已在清单上授予应用程序权限:

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

您是否在清单文件中添加了访问SD卡的权限?您是否尝试调试此代码?@Anil nope我没有在清单中声明任何内容,先生。@ScaryWombat我尝试过调试它,先生。@user3818824…检查下面由我添加的答案,以在清单文件中添加权限。好的,如果再次出现错误,我也会尝试。。谢谢你的帮助。如果我得到它,我会通知你。你可以调试你的代码到错误的地方,或者显示日志