试图创建的文件夹,但它表明logcat的错误?如何解决? [英] Trying to create folder, but Its indicate logcat error? how to solve?

查看:149
本文介绍了试图创建的文件夹,但它表明logcat的错误?如何解决?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨现在我想在我的画廊创建文件夹...所以我实现这些我行
galleryview.java文件.......但没有什么可改变正常的过程是怎么回事....请帮我.....

 文件nfile的=新的文件(Environment.getExternalStorageDirectory()+/图片);
nfile.mkdir();


  1. Galleryview.java

     公共类扩展图库视图{活动
    / **当第一次创建活动调用。 * /
    私人光标imagecursor,actualimagecursor;
    私人诠释image_column_index,actual_image_column_index;
    GridView控件imagegrid;
    私人诠释计数;
    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){    super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);
        文件nfile的=新的文件(Environment.getExternalStorageDirectory()+/图片);
        nfile.mkdir();    init_phone_image_grid();
       }


这是我的完整源$ C ​​$ C:

 包galleryview.galleryview; 进口的java.io.File;  //进口ImageViewExample.ImageViewExample.ViewImage;
  进口android.app.Activity;
  进口android.content.Context;
  进口android.content.Intent;
  进口android.database.Cursor;
  进口android.net.Uri;
  进口android.os.Bundle;
  进口android.os.Environment;
  进口android.provider.MediaStore;
  进口android.view.View;
  进口android.view.ViewGroup;
  进口android.widget.AdapterView;
  进口android.widget.BaseAdapter;
  进口android.widget.Gallery;
  进口android.widget.GridView;
  //进口android.widget.GridView;
  进口android.widget.ImageView;
  进口android.widget.AdapterView.OnItemClickListener;  公共类扩展图库视图{活动
  / **当第一次创建活动调用。 * /
  私人光标imagecursor,actualimagecursor;
  私人诠释image_column_index,actual_image_column_index;
  GridView控件imagegrid;
  私人诠释计数;
  @覆盖
  公共无效的onCreate(捆绑savedInstanceState){        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);
        文件nfile的=新的文件(Environment.getExternalStorageDirectory()+/ SD卡);
        nfile.mkdir();
        的System.out.println(总+ Environment.getExternalStorageDirectory());        init_phone_image_grid();
  }
  私人无效init_phone_image_grid(){        的String [] = IMG {MediaStore.Images.Thumbnails._ID};
        imagecursor = managedQuery(
  MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,IMG,空,
  空,MediaStore.Images.Thumbnails.IMAGE_ID +);
        image_column_index = imagecursor
  .getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
        数= imagecursor.getCount();
        imagegrid =(GridView控件)findViewById(R.id.PhoneImageGrid);
        imagegrid.setAdapter(新ImageAdapter(getApplicationContext()));
        imagegrid.setOnItemClickListener(新OnItemClickListener(){
              公共无效onItemClick(适配器视图父母,视图V,
   INT位置,长的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(位置);
                    串I = actualimagecursor.getString(actual_image_column_index);
                    System.gc()的;
                   意向意图=新意图(getApplicationContext(),ViewImage.class);                   intent.putExtra(文件名,我);
                   startActivity(意向);
                                                            }
        });
       }
  公共类ImageAdapter延伸BaseAdapter {
      私人语境mContext;
        公共ImageAdapter(上下文C){
              mContext = C;
        }
        公众诠释的getCount(){
              返回计数;
        }
        公共对象的getItem(INT位置){
              返回的位置;
        }
        众长getItemId(INT位置){
              返回的位置;
        }
        公共查看getView(INT位置,查看convertView,父母的ViewGroup){
              System.gc()的;
              ImageView的I =新ImageView的(mContext.getApplicationContext());
              如果(convertView == NULL){
                    imagecursor.moveToPosition(位置);
                    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(新GridView.LayoutParams(110,110));
              }
              其他{
                    I =(ImageView的)convertView;
              }
              返回我;
          }
        }
         }


解决方案

您忘了权限:

 <使用许可权的android:NAME =android.permission.WRITE_EXTERNAL_STORAG​​E/>

Hi Now I am trying to create folders in my gallery...so I am implement these line in my galleryview.java file.......but nothing to be change normal process is going on....please help me.....

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

  1. 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();
       }
    

This is my complete source code:

 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;
          }
        }
         }

解决方案

You forgot a permission:

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

这篇关于试图创建的文件夹,但它表明logcat的错误?如何解决?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆