试图创建的文件夹,但它表明logcat的错误?如何解决? [英] Trying to create folder, but Its indicate logcat error? how to solve?
本文介绍了试图创建的文件夹,但它表明logcat的错误?如何解决?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨现在我想在我的画廊创建文件夹...所以我实现这些我行
galleryview.java文件.......但没有什么可改变正常的过程是怎么回事....请帮我.....
文件nfile的=新的文件(Environment.getExternalStorageDirectory()+/图片);
nfile.mkdir();
-
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_STORAGE/>
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();
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屋!
查看全文