如何将相机中的图像保存在内存中?

时间:2012-09-10 13:43:53

标签: android memory internal

我有一个Android 4.0.3的AVD。我需要与媒体商店合作。我在SDCARD中使用文件夹相机并将其放入我的图像,但我需要使用DDMS将图像上传到内部存储器中的Camera文件夹。但是,我没有找到任何文件夹来上传我的图像。我尝试拍照,但这些都存储在SD卡中,我没有找到任何方法来更改设置以将照片保存在内存中。

如何将相机中的图像保存在内存中?是否可以制作一个文件夹来存储图像,并且图像会显示在图库中?

非常感谢。

4 个答案:

答案 0 :(得分:1)

从相机拍摄图像并在ImageView上捕获它。在这里,我正在编写代码以将ImageView的图像保存在内部存储器中。

     Bitmap bm;

     View v=imageView;
     v.setDrawingCacheEnabled(true);
     bm=Bitmap.createBitmap(v.getDrawingCache());
     v.setDrawingCacheEnabled(false);

     String fileName="image.png";
     File file=new File(fileName);

     try 
     {

        FileOutputStream fOut=openFileOutput(fileName, MODE_PRIVATE);
        bm.compress(Bitmap.CompressFormat.PNG, 100, fOut);

     }
     catch (Exception e) 
     {
        e.printStackTrace();
     }

答案 1 :(得分:1)

没有足够的声誉直接回复Himanshu Mahajan的回答,请原谅我在这里写作。

如何将图像放入ImageView?根据官方文档,您在意图中传回的是图像的缩略图,而不是全尺寸图像。参见:

http://developer.android.com/training/camera/photobasics.html#TaskPhotoView

答案 2 :(得分:0)

official android documentation for Camera显示了如何捕捉图像并将其保存在某个位置,使其在图库中也可见。

This部分特别展示了如何以最有效的方式(在SD卡上)保存捕获的图像。

Here您可以找到有关如何将图片存储在内存(而不是SD卡)的信息。

答案 3 :(得分:0)

转到设备设置>设备>应用程序>应用程序管理器>"您的应用">权限>启用存储权限!

清单:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

保存:

FileOutputStream outStream = null;
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard.getAbsolutePath() + "/YourFolderName");
dir.mkdirs();
String fileName = String.format("%d.jpg", System.currentTimeMillis());
File outFile = new File(dir, fileName);
outStream = new FileOutputStream(outFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outStream);
outStream.flush();
outStream.close();