2013-07-10 64 views
1

我想点击图片从我的手机相机,然后将此图像保存在sqlite数据库存储在sdcard.plz告诉我如何才能做到这一点??是我写 的代码点击清单图片在SD卡中存储在sdcard中的数据库点击后保存图像

 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     File file = new File(Environment.getExternalStorageDirectory(), bb); 

     outputFileUri = Uri.fromFile(file); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
     startActivityForResult(intent, TAKE_PICTURE); 
+1

将图像的路径存储在数据库中。在数据库中存储图像占用更多空间。 – Raghunandan

+0

看看这个http://stackoverflow.com/questions/6041202/how-to-store-images-in-sqlite-database-on-click-event-of-button – Mohit

+0

你想存储图片或图片路径?? – Riser

回答

1

授予权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.CAMERA"/> 
<uses-feature android:name="android.hardware.camera"/> 
<uses-feature android:name="android.hardware.camera.autofocus"/> 

File destination = new File(Environment.getExternalStorageDirectory(),"image.jpg"); 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(destination)); 
startActivityForResult(intent, CAMERA_PICTURE); 

然后覆盖从目的地形象onActivityResult水道图像文件转换成位图并保存此。 然后将其转换成字节数组

@Override 
     public void onActivityResult(int requestCode, int resultCode, Intent data){ 
     if(requestCode == CAMERA_PICTURE && resultCode == Activity.RESULT_OK) { 
       realImageStr = new String(""); 
      try { 
     FileInputStream in = new FileInputStream(destination); 
      BitmapFactory.Options options = new BitmapFactory.Options(); 
      options.inSampleSize = 10; //Downsample 10x 
      Log.d("PP", " bitmap factory=========="+options); 
      Bitmap user_picture_bmp = BitmapFactory.decodeStream(in, null, options); 
      ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
      user_picture_bmp.compress(Bitmap.CompressFormat.PNG, 100, bos); 
      byte[] bArray = bos.toByteArray(); 
     } catch (Exception e) 
     { 
     } }} 

当你将节省成字节类型,然后在保存到数据库UR字节码图像coloumn和image列数据类型为BLOB类型