2011-07-17 30 views
1

デフォルトのカメラを使って写真を撮ってDBに保存するアプリケーションがあります。Android:カメラの問題(写真を撮る)

私が使用したカメラのコードは次のとおりです。

package com.android.SamsungMIv4; 

import java.io.ByteArrayOutputStream; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 

import android.app.Activity; 
import android.content.ActivityNotFoundException; 
import android.content.ContentValues; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.net.Uri; 
import android.os.Bundle; 
import android.os.Environment; 
import android.provider.MediaStore; 
import android.util.Log; 
import android.widget.Toast; 

public class camera extends Activity { 
private static final int TAKEPICTURE_ACTIVITY = 0; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Intent i = new Intent("android.media.action.IMAGE_CAPTURE"); 
    try{ 
      startActivityForResult(i, TAKEPICTURE_ACTIVITY); 
    }catch(ActivityNotFoundException e){ 
      Toast.makeText(this, "Application not available", 
Toast.LENGTH_SHORT).show();} 
      //Log.e(TAG, "Error in taking picture"); 
    } 
@Override 
    protected void onActivityResult(int requestCode, int resultCode, 
Intent intent) { 
     super.onActivityResult(requestCode, resultCode, intent); 
    if (requestCode == TAKEPICTURE_ACTIVITY){ 
      if (resultCode == RESULT_OK) { 
          Bundle extras = intent.getExtras(); 
          Bitmap bitmap = (Bitmap) extras.get("data") ; 

     } 
} 
} 
} 

しかし、問題は、私が撮影した画像の名前を指定することはできません、これは私のためにDBに問題を引き起こすということです。だから私は 1)キャプチャされた画像のファイル名を追加する方法を含める または 2)ここで私のキャプチャ画像が含まれている "ビットマップ"と仮定しています。もしそうなら、私は指定した名前と一緒にその場所に保存する方法を教えてください。 OR 3)このカメラは別のアクティビティで使用しているサービスなので、コンテンツ値を使用して以前のアクティビティにキャプチャしたイメージを戻す方法はありますか?

答えて

0

.getExtras( "data")メソッドで行ったように、データを取得すると、写真の高解像度版を取得できます。ファイルを保存するには、compressメソッド[1]をチェックしてください。その後、FileOutputSteam [2]を使用して、保存したいファイル名を簡単に定義することができます。

  1. http://developer.android.com/reference/android/graphics/Bitmap.html#compress(android.graphics.Bitmap.CompressFormat、int型、にjava.io.OutputStream)

  2. http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileOutputStream.html

関連する問題