il titolo suona forse un po 'come una "domanda noob" ma so benissimo come programmare per Android, solo per capire qual è il modo migliore per ottenere ciò che voglio.Carica una foto scattata dalla fotocamera a un server con dimensioni limitate
Il mio caso d'uso è: l'utente scatta una foto e la invia al nostro server che ha un limite di dimensioni del file (il che potrebbe significare che dobbiamo ridimensionare la foto direttamente sul dispositivo).
Sembra facile, giusto? Il mio problema sono le seguenti:
1) uso migliore intenti che potrebbe mandare in crash perché alcune applicazioni della fotocamera sono codificati con l'asino o costruire una vista di base "scattare foto e confermare" con librerie fotocamera CAWC? (Ho fatto i due, preferisco gli intenti ma mi piacerebbe avere un'opinione in merito).
2) Come si gestisce il limite di dimensioni del file ? Voglio dire che ottenere le dimensioni della foto è abbastanza semplice con lo File.length()
(anche se il valore restituito non è perfettamente corretto) ma se superi il limite, come puoi dire quanto sarà grande l'immagine ridimensionata? (è necessario convertire in bitmap per ridimensionarlo ed è quindi un sacco di problemi con OOMException
e non è possibile calcolare la dimensione finale di una bitmap sul disco, è necessario comprimerlo e scriverlo sul disco e analizzare il file appena creato dopo).
Grazie aiuto: D
Per limitare la dimensione dell'immagine, è necessario ricampionare la foto prima del caricamento – Xcihnegn