Come inviare i dettagli di una persona e diverse immagini via JSON in Android
Hai due opzioni
1) Invia il link dell'immagine :- Questo è possibile solo quando hai memorizzato la tua immagine su un file server. Così, quando memorizzi immagini come img1, img2 e così via, ora puoi inviare il percorso sorgente (url) dell'immagine nel JSON che hai creato.
JSON
profilo:{
nome: "Raj",
immagini:[ ' fileserver/images/image1 ' , ' fileserver/images/image2 ' ]
}
2)Conversione immagine in Base64:- Se non hai memorizzato l'immagine su nessun server e vuoi inviarla in JSON l'opzione migliore è quella di convertirla in una stringa Base64 e poi, dato che diventa un normale oggetto stringa, puoi usarlo nel JSON che stai creando e poi inviarlo.
- String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);
You'll have to convert your image into a byte array though. Here's an example:
- Bitmap bm = BitmapFactory.decodeFile("/path/to/YOURIMAGE.jpg");
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object
- byte[] b = baos.toByteArray();
Here you can see that the image stored in the phone is first converted to bytes and then is encoded in form a sting using base64.
Nota: - Dipende totalmente dal tuo uso come stai avendo le immagini. se hai il negozio globalmente nel file server e hai il percorso per loro allora puoi con il primo metodo dove nel tuo solo usando il percorso in JSON, altrimenti se hai l'immagine sulla memoria locale allora vai per il secondo metodo!!!
Grazie!!!
Articoli simili
- Caschi di dimensioni diverse (stesso modello) usano visiere diverse?
- Come può Android Studio utilizzare i file 'JSON' per creare un'applicazione Android (file APK)?
- Una persona può avere due diverse firme ufficiali?
- Come possiamo nascondere i dati JSON da strumenti come gli strumenti di sviluppo di Chrome e Firebug, ecc, come sicurezza oltre 'https'?