Android将相机的照片保存到内部存储器中

时间:2011-08-04 07:09:24

标签: android camera

我是这个网站的新手和android。如何将相机的图片保存到特定的文件夹中,并将图片的名称保存到sqlite数据库中。

 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
 //  setContentView(R.layout.camera);
    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);  
    File photo = new File(Environment.getExternalStorageDirectory(),  "Pic.jpg");
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
            Uri.fromFile(photo));
    imageUri = Uri.fromFile(photo);

    startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);  
    onActivityResult(1337, 0, cameraIntent);

}



protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    super.onActivityResult(requestCode, resultCode, data);

        if (resultCode == CAMERA_PIC_REQUEST) {

    }

我打开了相机活动。如何获取图片名称&将它保存到特定位置?

请帮助我。

提前谢谢。

3 个答案:

答案 0 :(得分:1)

您可能需要更改行

 if (resultCode == CAMERA_PIC_REQUEST) {

 if (requestCode == CAMERA_PIC_REQUEST) {

答案 1 :(得分:1)

我打电话给相机

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

并像这样保存到SD卡

final ImageView img = new ImageView(this);
img.setLayoutParams(new LayoutParams(100, 100));
image2 = (Bitmap) data.getExtras().get("data");
img.setImageBitmap(image2);
String incident_ID = IncidentFormActivity.incident_id;
//l2.addView(img);
    imagepath="/sdcard/RDMS/"+incident_ID+ x + ".png";
File file = new File(imagepath);
try {
bm = Bitmap.createScaledBitmap( image2,400, 300, true);
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bm.compress(CompressFormat.PNG, 90, ostream);
ostream.close(); 
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(),"yourfirst  error message is "
+ e.toString(), 1000).show();
        }

答案 2 :(得分:0)

您已经保存了图片。您在MediaStore.EXTRA_OUTPUT中提供了该位置。

Link

做一个数据库,你必须要看一下这个link有点太多要解释