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

问题描述

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的传递用什么代替,还有就是怎么读取文件夹里所有的图片,然后可以一张一张的处理。

解决方案

 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

解决方案二:

楼主是想读一个文件夹里的全部 图片的文件名?
那可以在代码里用 adb ls 命令啊,然后把输出的 全部检查后缀是 .jpg 或.png 或.git 之类的,是就加到你的字符串数组里

要处理,就跟进 你的文件夹路径 + 图片名 一张张获取,再处理

这样可以吗

时间: 2024-10-30 23:22:55

uri-Android中如何读入文件夹中的图片文件并得到该图片的名称的相关文章

Android获取assets文件夹中的数据并写入SD卡示例_Android

本文示例主要实现了Android获取assets文件夹中的数据并将其写入到SD卡中,该程序实现的步骤主要为:首先读取assets文件夹中的数据库,再将其写入到SD存储卡中. 完整示例代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import android.content.Context; /*将assets文件

android怎么从服务器的一个存放图片的文件夹中下载其中所有的图片,已知文件夹的url

问题描述 android怎么从服务器的一个存放图片的文件夹中下载其中所有的图片,已知文件夹的url android怎么从服务器的一个存放图片的文件夹中下载其中所有的图片,已知文件夹的url 解决方案 只要这个url和图片信息(比如名字)能组成有效的url就行了,然后再返回一个图片的名字列表,遍历下载就行了 解决方案二: QT下实现将图片从一个文件拷贝到另一个文件夹把存储在数据库的图片导入到一个文件夹 解决方案三: 考慮安裝一下 ""抓圖神器"" 這個APP應該就可以

android模拟器的sdcard中的文件存放在本机的哪个文件夹中?

问题描述 在eclipse中运行一个android模拟器,向模拟器的sdcard中写入了一个文件,这个文件可以在DDMS中看到,并且能导出来,但是这个文件具体存放在我本机电脑的哪个文件夹中?为什么我搜索不到?按理说肯定有一块区域是存放这个文件的呀? 解决方案 在eclipse中打开avd manager,选中你创建的avd,点击右边的details按钮会打开一个avd详细信息对话框,其中有一个path路径,那个就是avd的创建路径,sdcard是个虚拟的卡,应该包含在avd文件里,我的理解是这样

Android获取assets文件夹中的数据并写入SD卡示例

本文示例主要实现了Android获取assets文件夹中的数据并将其写入到SD卡中,该程序实现的步骤主要为:首先读取assets文件夹中的数据库,再将其写入到SD存储卡中. 完整示例代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import android.content.Context; /*将assets文件

Android 使用mediaplayer播放res/raw文件夹中的音乐的实例

Android 使用mediaplayer播放res/raw文件夹中的音乐的实例 (1)在res文件夹中新建一个文件夹重命名为raw,并且将要播放的音乐放到raw文件夹里面 (2)修改layout目录下的xml布局文件,添加3个按钮空间和一个文本控件,用于提示当前播放状态和 播放暂停 停止等功能.具体代码如下 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layou

android studio-ksoap2应该放在androidstdio的哪个文件夹中使用

问题描述 ksoap2应该放在androidstdio的哪个文件夹中使用 求androidstdio高手指教,想开发webservice方面的东西

Android Studio添加so文件并打包到APK的lib文件夹中

     Gradle官方在新版本中已经实现了自动打包.so文件功能了.      只需要在build.gradle的文件中的android目录下配置一下即可:      1 sourceSets { 2 main { 3 jniLibs.srcDirs = ['libs'] 4 } 5 }    完整build.gradle配置文件如下:   1 apply plugin: 'com.android.application' 2 3 android { 4 5 compileSdkVersio

android中写一个内部类来选择文件夹中指定的图片类型实例说明

复制代码 代码如下: /**本类是用来选择文件夹中是.jpg类型的图片*/ private class JpgFileFilter implements FilenameFilter{ @Override public boolean accept(File dir, String filename) { // TODO Auto-generated method stub return filename.endsWith(".jpg"); } }

Android 遍历文件夹中所有文件的实例代码

可以获得文件夹中所有文件的路径及文件名. 代码很简单,直接上车,车上再解释: /** * 获取指定目录内所有文件路径 * @param dirPath 需要查询的文件目录 * @param _type 查询类型,比如mp3什么的 */ public static JSONArray getAllFiles(String dirPath, String _type) { File f = new File(dirPath); if (!f.exists()) {//判断路径是否存在 return