Sto provando a scrivere un file da una risposta post Http a un file su sdcard. Tutto funziona correttamente finché non viene recuperata la matrice di byte dei dati.Scrittura di un file su sdcard
Ho provato a impostare l'autorizzazione WRITE_EXTERNAL_STORAGE
nel file manifest e ho provato molte diverse combinazioni di tutorial che ho trovato in rete.
Tutto quello che riuscivo a trovare era l'utilizzo del metodo openFileOutput("",MODE_WORLD_READABLE)
dell'attività, ma il modo in cui il file di scrittura dell'app è utilizzando un thread. In particolare, un thread è invocato da un altro thread quando un file deve essere scritto, , quindi dare un oggetto attività non ha funzionato anche se l'ho provato.
L'app ha fatto molta strada e non posso modificare il modo in cui l'app è attualmente scritta.
Per favore, qualcuno mi aiuti?
CODICE:
File file = new File(bgdmanip.savLocation);
FileOutputStream filecon = null;
filecon = new FileOutputStream(file);
byte[] myByte;
myByte = Base64Coder.decode(seReply);
bos.write(myByte);
filecon.write(myByte);
myvals = x * 11024;
bgdmanip.savLocation
detiene l'intero percorso dei file. seReply
è una risposta stringa dalla risposta HttpPost
. Il secondo set di codice viene eseguito in loop con riferimento a x
. Il file viene creato ma rimane 0 byte.
Grazie Erich. Sto passando il percorso completo come una stringa come questo "/sdcard/filename.ext". anche il file è stato creato ma la dimensione del file rimane 0 byte. inoltre non sono in grado di utilizzare i controlli del file push/pull del DDMS in eclissi. –
Potrebbe essere necessario inserire parte del codice di scrittura del file per aiutare a diagnosticare il problema. Non tutto, ma almeno le basi di ciò che sta accadendo. Inoltre, stai vedendo messaggi in LogCat? –
Erich, ho aggiornato il codice. nessun messaggio viene creato su file ops in LogCat. Ho cambiato codice per un sacco di volte che ho ricevuto degli errori in qualche codice ma non ricordo quale codice mi ha dato degli errori. –