Android Comment enregistrer les images de la caméra dans la base de données et afficher une autre activité dans la vue liste?
je suis à l'utilisation de l'appareil photo pour prendre des photos et que vous souhaitez stocker en base de données(SQLite). Photos stockées doivent être affichées dans une autre activité avec affichage de la liste comme ceci affichage de la liste des images et cette iam à l'aide de ce code, prendre une photo, mais comment enregistrer la photo dans la base de données et de les afficher dans une autre activité, une idée s'il vous plaît aider .....
merci....
c'est le code pour prendre des photos
public class PhotoActivity extends Activity {
private static final int CAMERA_REQUEST = 1888;
public ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.photoactivity);
this.imageView = (ImageView)this.findViewById(R.id.imageView1);
Button B = (Button) this.findViewById(R.id.camera);
B.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
}
}
- Les Bitmaps ne devrait pas être directement enregistrées dans la base de données, mais sur la carte sd. Dans la base de données vous pouvez enregistrer seulement référence à des images bitmap. Enregistrement bitmap directement dans la base de données aura un énorme impact sur les performances.
- je suis l'extension de la BaseAdapter pour Listview dans que ce qui devrait être le code pour onActivityResult() la méthode?
InformationsquelleAutor NagarjunaReddy | 2012-03-30
Vous devez vous connecter pour publier un commentaire.
Créer une Base de données de la classe helper comme cette..
Sur la Capture de l'image à insérer l'image, par la conversion en octets:
Pour récupérer le Formulaire de la Base de données:
Passer cette image de tableau à la liste
Je ne suis pas convaincu pour enregistrer l'image bitmap dans une base de données sqlite.
Mais il est possible lors de l'utilisation de Blob. Une goutte besoin d'un byte[].
Vous pourriez obtenir un tableau d'octets par enregistrer l'image (avec compression) et de la lecture du fichier de nouveau.
http://developer.android.com/reference/android/graphics/Bitmap.html
ou
Ou vous pouvez sérialiser l'image Bitmap dans ByteArrayOutputStream (à l'aide de ObjectOutputStream)
Cependant, probablement, il un sens pour enregistrer l'image Bitmap (JPG ou PNG) parce qu'elles peuvent devenir de plus grande taille. La base de données ne peut contenir le chemin d'info au sujet de cette image.