Java 应用程序在SD卡内找不到图像目录
大家好,我正在创建一个将在gridview中显示图像的应用程序,但问题是该应用程序无法在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>
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…检查下面由我添加的答案,以在清单文件中添加权限。好的,如果再次出现错误,我也会尝试。。谢谢你的帮助。如果我得到它,我会通知你。你可以调试你的代码到错误的地方,或者显示日志