2012-02-08 21 views
0

私はここで初心者です。カメラからsqliteに名前で画像を保存

public void startCamera() 
{ 

     Cursor c=helper.getById(almagId); 
     c.moveToFirst();  
     fileName = helper.getKdStore(c)+ waktu + ".jpg";   
     Log.d("ANDRO_CAMERA", "Starting camera on the phone..."); 
     //String fileName = "testphoto.jpg"; 
     ContentValues values = new ContentValues(); 
     values.put(MediaStore.Images.Media.TITLE, fileName); 
     values.put(MediaStore.Images.Media.DESCRIPTION,"Image capture by camera"); 
     values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); 
     imageUri = getContentResolver().insert(
       MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
     Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); 
     intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); 
     startActivityForResult(intent, IMAGE_CAPTURE); 
     //return intent; 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
     if (requestCode == IMAGE_CAPTURE) 
     { 
      if (resultCode == RESULT_OK) 
      { 
       Log.d("ANDRO_CAMERA","Picture taken!!!"); 
       imageView.setImageURI(imageUri); 

      } 
     } 
    } 

をして、私は私がそれらをバック取り出すことができるように、sqliteの中で名前で画像を保存したいこの

public void insertPicture(String image1,String image2,String image3){ 

    //waktu = new Date().toString(); 
    ContentValues im = new ContentValues(); 
    //im.put("kdstore", kdstore); 
    im.put("image1", image1); 
    im.put("image2", image2); 
    im.put("image3", image3); 

    System.out.println(); 
    getWritableDatabase().insert("image", "name", im); 
} 

ようDbhelper方法insertImageを持っている:私はこのような方法startCameraを持っています後で。

答えて

1

ここであなたのアイデアを得ている人は... WHYあなたはイメージをデータベースに挿入しますか?ファイルがデータベース内のどこにあるかのリンクを保存してください...

データベースはBLOBオプションを提供していますが、間違いなくこれをやりたいと思っています。他の選択肢を探そうと停止は、溶液については白黒です。

2

Jox Traexは画像をデータベースに保存する必要はないと言っています。画像のパスのみを保存してから同じパスから画像を取得すると簡単になります。いくつかのサンプル関連コードを参照できます

MimeBodyPart attachmentPart = new MimeBodyPart(); 
    FileDataSource fileDataSource = new FileDataSource(path_img) { 
     @Override 
     public String getContentType() { 
      return "image/jpg"; 
     } 
    }; 
    attachmentPart.setDataHandler(new DataHandler(fileDataSource)); 
    attachmentPart.setFileName("image.jpg"); 
関連する問題