解码文件夹中的图像:android
我一直试图从另一个文件夹中的“Raw Image”文件夹中解码照片。文件夹的名称由名称、年龄、性别、日期和时间提供。我怎么能称这样的文件夹。任何建议都是可以接受的。不要在文件夹名解码文件夹中的图像: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”
中留下空间。
如果你不在乎应用程序外的文件名是什么样子的,那么就不要创建这样的深层结构(
/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);