Quiero almacenar la imagen en la base de datos sqlite que se toma de galería y cámara Android

Tengo una aplicación en la que el usuario agrega la imagen haciendo clic en Imageview y fijando la imagen y tomando la nueva imagen de la cámara. Quiero almacenar esa imagen de conjunto en la base de datos sqlite.

**AddkeyEventdetail.java** package com.example.kidsfinal; import java.util.Calendar; import android.app.DatePickerDialog; import android.app.Dialog; import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.support.v4.app.DialogFragment; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; import android.widget.ImageView; import android.widget.Spinner; import android.widget.TextView; import com.example.slidingmenuexample.R; public class AddChildHoodEventActivity extends SmartActivity { ImageView ivChildPics; EditText edtEventDate, edtEventDetails; Button btnEventDetailSubmit, btnopenCamera; Spinner spinnerSelectChild; Bitmap bmp; Calendar calendar = Calendar.getInstance(); int mDay = calendar.get(Calendar.DAY_OF_MONTH), mMonth = calendar .get(Calendar.MONTH), mYear = calendar.get(Calendar.YEAR) - 1; @Override public void onCreate(Bundle arg0) { // TODO Auto-generated method stub super.onCreate(arg0); setContentView(R.layout.addchildhoodevents); createDrawer(); initComponent(); prepareView(); setOnListener(); } private void initComponent() { // TODO Auto-generated method stub ivChildPics = (ImageView) findViewById(R.id.kids_addkeyevent_imageview_childpics); edtEventDate = (EditText) findViewById(R.id.kids_addkeyevent_edt_addkeyevent); edtEventDetails = (EditText) findViewById(R.id.kids_addkeyevent_edt_eventdetails); btnEventDetailSubmit = (Button) findViewById(R.id.kids_addkeyevent_btn_submit); btnopenCamera = (Button) findViewById(R.id.kids_addkeyevent_btn_opencamera); } private void prepareView() { } private void setOnListener() { ivChildPics.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openGallery(); } private void openGallery() { Intent opengallery = new Intent(Intent.ACTION_GET_CONTENT); opengallery.setType("Image/"); startActivityForResult(opengallery, 1); } }); btnopenCamera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { OpenCamera(); } private void OpenCamera() { Intent openCam = new Intent( "android.media.action.IMAGE_CAPTURE"); startActivityForResult(openCam, 0); } }); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 0 && resultCode == RESULT_OK) { if (data != null) { bmp = (Bitmap) data.getExtras().get("data"); ivChildPics.setImageBitmap(bmp); /* * this is image view where you * want to set image */ Log.d("camera ---- > ", "" + data.getExtras().get("data")); } } else { Uri selectedImage = data.getData(); String[] filePathColumn = { MediaStore.Images.Media.DATA }; Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); String filePath = cursor.getString(columnIndex); cursor.close(); if (bmp != null && !bmp.isRecycled()) { bmp = null; } bmp = BitmapFactory.decodeFile(filePath); ivChildPics.setBackgroundResource(0); ivChildPics.setImageBitmap(bmp); } } } 

Base de datos java

Public void insertAddKeyEvent (byte [] childpic, String eventDate, String eventDetails)

 { ContentValues addkeyValues=new ContentValues(); addkeyValues.put("CHILDPICS",childpic); addkeyValues.put("EVENTDATE", eventDate); addkeyValues.put("EVENTDETAILS", eventDetails); parentmaster.insert("ADDKEYEVENT",null,addkeyValues); } 

Convierta su Bitmap en un byte[] de la siguiente manera

 ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(CompressFormat.JPEG, 100, baos); byte[] imageData = baos.toByteArray(); 

Y agregue el byte[] a un campo BLOB en su base de datos.

  • Saltar ImageView mientras arrastra. Los valores de getX () y getY () saltan
  • Cómo leer bits extraíbles como InputStream
  • Animación de desenfoque de Android ImageView
  • ImageView personalizado con sombra
  • Android: la imagen en el listview parpadea mientras llama a notifyDataSetChanged en algunos dispositivos
  • Android ImageView.setMatrix () y .invalidate () - el repintado toma demasiado tiempo
  • Android, ImageView sobre ImageView
  • Superposición de texto sobre la vista de imagen en android
  • ImageView y el muestreo GIF grande
  • El objetivo no debe ser nulo utilizando la Biblioteca Picasso
  • Android: cómo convertir todo ImageView a Bitmap?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.