补充内容,我按照下面的方式读取了一张图片,能不能得到这个图片的名字?比如图片的名字为“XD0001.jpg”,如何得到“XD0001"这个字符串?
我现在有一个程序,是从相册选择一张图片后裁剪,保存然后才能进入后面的处理,我现在想把裁剪功能去掉,并想实现读取文件夹中的所有图片,并能一张张的进行处理,我该怎么改?
现在的代码是:
这个是onActivityResult需要改的部分代码
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
super.onActivityResult(requestCode, resultCode, intent);
switch(requestCode)
{
case PHOTO_GET_PHOTO_DATA :
try
{
System.out.println("从相册获得图片");
ContentResolver localContentResolver = getContentResolver();
Uri originalUri = intent.getData();
this.mContent = readStream(localContentResolver.openInputStream(Uri.parse(originalUri.toString())));
if (getPicFromBytes(this.mContent, null) == null)
break;
System.out.println("开始裁剪2");
startPhotoZoom(originalUri);//开始图片剪裁
System.out.println("裁剪结束2");
//获取文件的绝对路径
String originalUri1 = originalUri.getSchemeSpecificPart().substring(2);
System.out.println("originalUri1="+originalUri1);
if(originalUri1 != null)
{
this.myApp.setState(originalUri1);
}
else
{
String[] proj = {MediaStore.Images.Media.DATA};
@SuppressWarnings("deprecation")
Cursor cursor = this.managedQuery(originalUri, proj, null, null, null);
if(cursor==null)
return;
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
this.myApp.setState(cursor.getString(column_index));
}
//System.out.println("fileName:" + this.fileName);
}
catch (Exception localException)
{
System.out.println("E:" + localException.getMessage());
}
break;
case PHOTO_PICKED_WITH_DATA :
if(intent==null)
break;
Bundle extras = intent.getExtras();
if(extras==null)
break;
this.photo = extras.getParcelable("data");
if(photo==null)
break;
this.showImage.setImageBitmap(this.photo);
this.showImage.setVisibility(0);
this.phFlag = true;
this.result.setText("");
this.resultStr = "";
下面是裁剪函数;
public void startPhotoZoom(Uri paramUri)
{
Intent localIntent = new Intent("com.android.camera.action.CROP");
localIntent.setDataAndType(paramUri, "image/*");
localIntent.putExtra("crop", "true");
localIntent.putExtra("aspectX", 4);
localIntent.putExtra("aspectY", 3);
localIntent.putExtra("outputX", WIDTH);
localIntent.putExtra("outputY", HEIGHT);
localIntent.putExtra("return-data", true);
startActivityForResult(localIntent, PHOTO_PICKED_WITH_DATA);
}
我的主要问题是去掉裁剪函数,最后有个startActivityForResult中intent的传递用什么代替,还有就是怎么读取文件夹里所有的图片,然后可以一张一张的处理。