android enregistrer des images sur la mémoire de stockage interne
Je vais avoir des problèmes pour la mise en œuvre de ce code Enregistrement et Lecture des Bitmaps/Images à partir de la mémoire Interne Android
pour enregistrer et récupérer l'image que je veux, voici mon code:
ContextWrapper cw = new ContextWrapper(getApplicationContext());
//path to /data/data/yourapp/app_data/imageDir
File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
//Create imageDir
File mypath=new File(directory, + name + "profile.jpg");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(mypath);
//Use the compress method on the BitMap object to write image to the OutputStream
myBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
et à récupérer(je ne sais pas si je fais mal)
@Override
protected void onResume()
{
super.onResume();
try {
File f = new File("imageDir/" + rowID, "profile.jpg");
Bitmap b = BitmapFactory.decodeStream(new FileInputStream(f));
image = (ImageView) findViewById(R.id.imageView2);
image.setImageBitmap(b);
} catch (FileNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
et rien ne se passe alors que dois-je modifier??
Merci de poster votre Logcat avec la question.
OriginalL'auteur user2580401 | 2013-10-19
Vous devez vous connecter pour publier un commentaire.
Pour Enregistrer votre image dans sdcard utiliser le code suivant
De L'Image Du Magasin
Pour Obtenir le Chemin d'accès pour le Stockage d'Image
Le code de cette réponse a été de copier & collées directement à partir des développeurs android, où vous pouvez trouver plus de réponses utiles.
Pas de bonne réponse... qtn sur la mémoire de stockage interne.. votre réponse sur le stockage externe..
OriginalL'auteur August Falbo
Je pense que Faibo la réponse devrait être acceptée, comme l'exemple de code est correct, bien écrit et devrait résoudre votre problème spécifique, sans accroc.
Dans le cas où cette solution ne répond pas à vos besoins, je veux proposer une autre approche.
C'est très simple pour stocker des données d'image comme une goutte dans un DB SQLite et de récupérer dans un tableau d'octets. L'encodage et le décodage s'effectue en quelques lignes de code (pour chaque), fonctionne comme un charme et est étonnamment efficace.
Je vais vous donner un exemple de code à la demande.
Bonne chance!
Je vous serai reconnaissant si vous pouvez fournir un exemple
Petit exemple (bitmap <-> tableau d'octets): public Bitmap setImageFromByteArray(byte[] byImage){ ByteArrayInputStream en = new ByteArrayInputStream(byImage); return BitmapFactory.decodeStream (); } public byte[] getByteArrayFromImage(image Bitmap){ ByteArrayOutputStream out = new ByteArrayOutputStream(); image.compresser(Bitmap.CompressFormat.JPEG, 80, out); return.toByteArray(); }
OriginalL'auteur Brandon
Note que vous êtes économiser de le choisir comme
name + profile.jpg
sousimageDir
répertoire et que vous essayez de récupérer unprofile.jpg
sousimageDir/[rowID]
répertoire vérifier.OriginalL'auteur Jans
Je l'ai eu à travailler!
Assurez-vous d'abord que votre application a le stockage de l'autorisation:
Allez à Paramètres de Périphérique>Périphérique>Applications>Gestionnaire d'Applications>"votre application">les Autorisations>Activer le Stockage de l'autorisation!
Autorisations dans le manifeste:
Donc, si vous voulez créer votre propre répertoire dans votre dossier de Stockage, vous pouvez utiliser somethibng comme:
D'autre, si vous souhaitez créer un sous-répertoire dans le répertoire par défaut de votre appareil dossier DCIM et souhaitez afficher votre image dans un dossier distinct dans la galerie:
Des fonctions d'assistance:
Espérons que cette aide!
OriginalL'auteur Shravan DG