Linda_Lindaaaa 2015-05-13 07:45 采纳率: 64.7%
浏览 8222

Android中如何读入文件夹中的图片文件并得到该图片的名称

补充内容,我按照下面的方式读取了一张图片,能不能得到这个图片的名字?比如图片的名字为“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的传递用什么代替,还有就是怎么读取文件夹里所有的图片,然后可以一张一张的处理。

  • 写回答

2条回答

  • bdmh 移动开发领域优质创作者 2015-05-13 08:05
    关注
     Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);  
    startActivityForResult(intent, RESULT);  
    

    http://blog.csdn.net/jackyguo1992/article/details/26729107

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!