解码文件夹中的图像:android

解码文件夹中的图像:android,android,Android,我一直试图从另一个文件夹中的“Raw Image”文件夹中解码照片。文件夹的名称由名称、年龄、性别、日期和时间提供。我怎么能称这样的文件夹。任何建议都是可以接受的。不要在文件夹名“Raw image”中留下空间。 如果你不在乎应用程序外的文件名是什么样子的,那么就不要创建这样的深层结构(/sdcard/name+Age+gender+“/Raw Image/”+name;),而是创建/sdcard/your_app_name/images/{HASH_of_KEY_VALUES}.jpg。这里的

我一直试图从另一个文件夹中的“Raw Image”文件夹中解码照片。文件夹的名称由名称、年龄、性别、日期和时间提供。我怎么能称这样的文件夹。任何建议都是可以接受的。

不要在文件夹名
“Raw image”
中留下空间。
如果你不在乎应用程序外的文件名是什么样子的,那么就不要创建这样的深层结构(
/sdcard/name+Age+gender+“/Raw Image/”+name;
),而是创建
/sdcard/your_app_name/images/{HASH_of_KEY_VALUES}.jpg
。这里的关键值是姓名、年龄、性别和一些id。

您的代码不太清楚。 但我认为这段代码会对你有所帮助


File imagesFolder=新文件(Environment.getExternalStorageDirectory().toString()+“/”+姓名+年龄+性别+姓名1)

谢谢。。。但重要的是文件名的外观。文件夹名称由年龄和性别名称组成…因此给出路径有点混乱。我想解码文件夹“RawImage”中的图像。文件夹RawImage位于另一个文件夹中。文件夹名是一个人的姓名、年龄、性别、日期和时间。现在,我已经将文件的路径写入字符串“callname”。但是当我调用这个字符串时,它不起作用。我希望很清楚你有没有试过我提到的那一行代码?你在性别字符串中添加了一些值吗?是的,我尝试了…它不起作用…是的,性别字符串有一些值如果没有原始图像文件夹,路径如何..callname=“/sdcard/”+Name+Age+Gender+Name;这是一种正确的方式吗?如果是这种情况,那么它将是这样的callname=“/sdcard/”+姓名+年龄+性别+“/”+姓名;但您应该真正使用Environment.getExternalStorageDirectory()而不是“/sdcard/”。
public void onPictureTaken(byte[] data, Camera camera) 
        {
            String Name = PatientInfo.getText().toString();
            String Age =  PatientAge.getText().toString();
            Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
             Date d = new Date();
             CharSequence s  = DateFormat.format("MM-dd-yy hh-mm-ss", d.getTime());
             name = s.toString() + ".jpg";
             name1 = s.toString();
            File imagesFolder = new File(Environment.getExternalStorageDirectory(),Name + Age + gender + name1);
            File Rfolder= new File(imagesFolder , "Raw Image");
            Rfolder.mkdirs();
            File output = new File(Rfolder, name);
            callname ="/sdcard/"+Name + Age + gender+"/Raw Image/" + name;

            Uri uriSavedImage = Uri.fromFile(output);
            imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);

            OutputStream imageFileOS;

            try {

                imageFileOS = getContentResolver().openOutputStream(uriSavedImage);
                imageFileOS.write(data);
                imageFileOS.flush();
                imageFileOS.close();


                Toast.makeText(MainActivity.this, 
                        "Image saved: ", 
                        Toast.LENGTH_LONG).show();

                } 
            catch (FileNotFoundException e) 
                {
                e.printStackTrace();
                } 
            catch (IOException e)
            {
                e.printStackTrace();

            } 
            finally
            {}
            Log.d("Log", "onPictureTaken - jpeg");

           Bitmap bitmap = BitmapFactory.decodeFile(callname);