Java 正在尝试创建文件夹,但它是否指示logcat错误?如何解决?

Java 正在尝试创建文件夹,但它是否指示logcat错误?如何解决?,java,android,gallery,directory,Java,Android,Gallery,Directory,嗨,现在我正在尝试在我的图库中创建文件夹…所以我在我的图库中实现这些行 galleryview.java文件……但没有要更改的内容正常过程正在进行……请帮助我 File nfile=new File(Environment.getExternalStorageDirectory()+"/picture"); nfile.mkdir(); Galleryview.java public class Galleryview extends Activity { /** Called when th

嗨,现在我正在尝试在我的图库中创建文件夹…所以我在我的图库中实现这些行 galleryview.java文件……但没有要更改的内容正常过程正在进行……请帮助我

File nfile=new File(Environment.getExternalStorageDirectory()+"/picture");
nfile.mkdir();
  • Galleryview.java

    public class Galleryview extends Activity {
    /** Called when the activity is first created. */
    private Cursor imagecursor, actualimagecursor;
    private int image_column_index, actual_image_column_index;
    GridView imagegrid;
    private int count;
    @Override
    public void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        File nfile=new File(Environment.getExternalStorageDirectory()+"/picture");
        nfile.mkdir();
    
        init_phone_image_grid();
       }
    
  • 这是我的完整源代码:

     package galleryview.galleryview;
    
     import java.io.File;
    
      //import ImageViewExample.ImageViewExample.ViewImage;
      import android.app.Activity;
      import android.content.Context;
      import android.content.Intent;
      import android.database.Cursor;
      import android.net.Uri;
      import android.os.Bundle;
      import android.os.Environment;
      import android.provider.MediaStore;
      import android.view.View;
      import android.view.ViewGroup;
      import android.widget.AdapterView;
      import android.widget.BaseAdapter;
      import android.widget.Gallery;
      import android.widget.GridView;
      //import android.widget.GridView;
      import android.widget.ImageView;
      import android.widget.AdapterView.OnItemClickListener;
    
      public class Galleryview extends Activity {
      /** Called when the activity is first created. */
      private Cursor imagecursor, actualimagecursor;
      private int image_column_index, actual_image_column_index;
      GridView imagegrid;
      private int count;
      @Override
      public void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            File nfile=new File(Environment.getExternalStorageDirectory()+"/sdcard");
            nfile.mkdir();
            System.out.println("total"+Environment.getExternalStorageDirectory());
    
            init_phone_image_grid();
      }
      private void init_phone_image_grid() {
    
            String[] img = { MediaStore.Images.Thumbnails._ID };
            imagecursor = managedQuery(
      MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, img, null,
      null, MediaStore.Images.Thumbnails.IMAGE_ID + "");
            image_column_index = imagecursor
      .getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
            count = imagecursor.getCount();
            imagegrid = (GridView) findViewById(R.id.PhoneImageGrid);
            imagegrid.setAdapter(new ImageAdapter(getApplicationContext()));
            imagegrid.setOnItemClickListener(new OnItemClickListener(){
                  public void onItemClick(AdapterView parent, View v,
       int position, long id) {
                        System.gc();
                        String[] proj = { MediaStore.Images.Media.DATA };
                        actualimagecursor = managedQuery(
       MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj,
       null, null, null);
                        actual_image_column_index = actualimagecursor
       .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                        actualimagecursor.moveToPosition(position);
                        String i = actualimagecursor.getString(actual_image_column_index);
                        System.gc();
                       Intent intent = new Intent(getApplicationContext(),ViewImage.class);
    
                       intent.putExtra("filename", i);
                       startActivity(intent);
                                                                }
            });
           }
    
    
      public class ImageAdapter extends BaseAdapter {
    
    
          private Context mContext;
            public ImageAdapter(Context c) {
                  mContext = c;
            }
            public int getCount() {
                  return count;
            }
            public Object getItem(int position) {
                  return position;
            }
            public long getItemId(int position) {
                  return position;
            }
            public View getView(int position,View convertView,ViewGroup parent) {
                  System.gc();
                  ImageView i = new ImageView(mContext.getApplicationContext());
                  if (convertView == null) {
                        imagecursor.moveToPosition(position);
                        int id = imagecursor.getInt(image_column_index);
                        i.setImageURI(Uri.withAppendedPath(
                MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, "" + id));
                        i.setScaleType(ImageView.ScaleType.CENTER_CROP);
                        i.setLayoutParams(new GridView.LayoutParams(110,110));
                  }
                  else {
                        i = (ImageView) convertView;
                  }
                  return i;
              }
            }
             }
    

    您忘记了权限:

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

    尝试在SD卡中创建文件夹:

    File folder = new File(Environment.getExternalStorageDirectory() + "/FolderName");
    success = folder.mkdir();
    
    确保您提供了:

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

    同时,在运行应用程序时卸载SD卡,并在运行应用程序后将其装载。

    亲爱的,您应该在此处发布logcat详细信息,这更好地解释您的问题现在我发布了完整的编码…我将在我的源代码中实现您的编码…请帮助。。。