как сохранить imagePath изображения, которое я снял с помощью активности камеры в базе данных. Мне также нужно получить этот imagePath и отобразить его в другом действии?
Может кто-то помочь мне, пожалуйста?

< EM> Update :

public class Image_secondPage extends Activity 
{
    public static final int CAMERA_RESULT = 1;
    Button btn1;
    ImageView imageView1;
    private final String tag = getClass().getName();

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.image_secondpage);


        imageView1 = (ImageView)findViewById(R.id.imageView1);
     Button btnNext = (Button)findViewById(R.id.buttonNext);
     btnNext.setOnClickListener(new View.OnClickListener()
    {

        @Override
        public void onClick(View v)
        {
            Intent intent = new Intent(Image_secondPage.this, ImagesPage.class);
            startActivity(intent);

        }
    });


        PackageManager pm = getPackageManager();
        if(pm.hasSystemFeature(PackageManager.FEATURE_CAMERA))
        {
            Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            i.putExtra(MediaStore.EXTRA_OUTPUT, MyFileContentProvider.CONTENT_URI);
            startActivityForResult(i, CAMERA_RESULT);
        }
        else
        {
            Toast.makeText(getBaseContext(), "Camera is not available", Toast.LENGTH_LONG).show();
        }   

    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        super.onActivityResult(requestCode, resultCode, data);
        Log.i(tag, "Receive the camera result");
        if(resultCode == RESULT_OK && requestCode == CAMERA_RESULT)
        {
            File out = new File(getFilesDir(), "newImage.jpg");
            if(!out.exists())
            {
                Toast.makeText(getBaseContext(), "Error while capturing image", Toast.LENGTH_LONG).show();
                return;
            }
            Bitmap mBitmap = BitmapFactory.decodeFile(out.getAbsolutePath());
            imageView1.setImageBitmap(mBitmap);
        }
    }



    @Override
    protected void onDestroy()
    {
        super.onDestroy();
        imageView1 = null;
    }

Я должен получить imagePath, который я захватил, и показать изображение в imageView, которое у меня было в следующем классе, но я не знаю, как это сделать. Кто-нибудь может мне помочь?

0
CallMyName 18 Июл 2012 в 12:09
Как вы снимаете изображение? покажите нам код ..
 – 
Adil Soomro
18 Июл 2012 в 12:16
Я разместил коды выше.
 – 
CallMyName
18 Июл 2012 в 12:24

1 ответ

Лучший ответ

Попробуйте использовать это

bitmap = (Bitmap) data.getExtras().get("data"); 

Это даст вам растровое изображение, затем вы можете сохранить его в базе данных или в чем угодно.
дайте мне знать, если это не решит вашу проблему.

0
Alfa 18 Июл 2012 в 12:32
А вставить эту строчку в какую часть кодировки?
 – 
CallMyName
18 Июл 2012 в 12:35
Замените это Bitmap mBitmap = BitmapFactory.decodeFile (out.getAbsolutePath ());
 – 
Alfa
18 Июл 2012 в 12:39
Ладно. Подскажите, в чем разница между 2 кодами? Я редактировал, но до сих пор не знаю, что они делают.
 – 
CallMyName
18 Июл 2012 в 12:40
Я не понимаю, что вы делаете внутри метода onActivityResult, но я знаю, что вы хотите отображать изображение после его захвата с камеры, верно? вы можете получить это изображение с помощью этого "data.getExtras (). get (" data ")" этого кода, чтобы получить данные изображения, а затем преобразовать их в растровое изображение. поэтому мы можем поместить его в переменную растрового изображения. чем показать его на просмотре изображения.
 – 
Alfa
18 Июл 2012 в 12:48
Я не тестировал это на реальном устройстве, потому что эмулятор не может работать. Так что я не знаю, сработало это или нет.
 – 
CallMyName
18 Июл 2012 в 12:55