Как сохранить изображения с sdcard в avd в базу данных в Android?

#java #android #sqlite

#java #Android #sqlite

Вопрос:

Я новичок в Android. Я только что создал AVD с 256 МБ Android-SDcard в нем в Android 2.1. И я вставил в него два изображения. Я сделал это, используя перспективу DDMS. И изображения теперь хранятся в папке 100ANDRO в папке DCIM SDcard. Теперь я хочу создать приложение, которое позволяет пользователю выбирать изображения путем просмотра папок и сохранять соответствующее изображение в базе данных Android-sqlite.

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

Ответ №1:

Я нашел один метод для этого.

Я создал кнопку для ЗАГРУЗКИ и для действия щелчка я установил вот так.

     upload.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v) {
            Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
            photoPickerIntent.setType("image/*");
            startActivityForResult(photoPickerIntent, 1);

        }
    });
  

И я переопределил этот метод вместе с тем же классом, что и ниже.

   @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
    case 1:
     {
      if (resultCode == RESULT_OK)
      {
        Uri photoUri = data.getData();
        if (photoUri != null)
        {
        try {
              String[] filePathColumn = {MediaStore.Images.Media.DATA};
              Cursor cursor = getContentResolver().query(photoUri, filePathColumn, null, null, null); 
         cursor.moveToFirst();
     int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
     String filePath = cursor.getString(columnIndex);
     cursor.close();
     Bitmap bitmap = BitmapFactory.decodeFile(filePath);
     imgView.setImageBitmap(bitmap);
     int size = bitmap.getWidth() * bitmap.getHeight();
     ByteArrayOutputStream out = new ByteArrayOutputStream(size);
     bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
     try {
     out.flush();
     out.close();
     } catch (IOException e) {
     e.printStackTrace();}
     String bb = out.toString();
     byte[] x = out.toByteArray();
     image_value.setTag(x);
     image_value.setText(filePath);
     }catch(Exception e)
      {}
      }
    }
    }
  

Здесь image_value представляет скрытое текстовое представление в файле xml.
Я передал значение местоположения изображения и байты в качестве значения и тега текстового представления.
И позже я сохранил эти байты в базе данных для последующего отображения. Работает нормально.

Спасибо всем.