Autore Topic: Copy db cartella assets con Emulatore 2.2, errore nella copia se file >1024kb  (Letto 501 volte)

Offline pumidru

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
  • Sistema operativo:
    Mac Osx 10.67
Salve,

ho un piccolo problema, con l'emulatore di Android 2.2

ho un file dati.db nella cartella assets di 594kb
nella nuova versione questo file diventa di 1.099kb

Se testo il programma con l'Emulatore 2.3.3 non ricevo errori e il programma funziona correttamente.

Se il programma viene eseguito con l'Emulatore 2.2 questi va in errore al momento della copia
nella riga while ((length = myInput.read(buffer)) > 0) {

Ora mi chiedo è un errore esclusivo dell'emulatore?
Le versioni di Android installate nei vari telefoni potranno accusare di questo errore?

Esiste qualche soluzione?

Inoltre sempre nella 2.2
se copio il file da terminale con il comando adb push il programma funziona
in quanto il file viene copiato correttamente.


Codice: [Seleziona]
private void copyDataBase() throws IOException {
                    // Open your local db as the input stream
                InputStream myInput = myContext.getAssets().open(DB_NAME);
                    // Path to the just created empty db
                String outFileName = DB_PATH + DB_NAME;
                    // Open the empty db as the output stream
                OutputStream myOutput = new FileOutputStream(outFileName);
                    // transfer bytes from the inputfile to the outputfile
                byte[] buffer = new byte[1024];
                int length;
                while ((length = myInput.read(buffer)) > 0) {
                        myOutput.write(buffer, 0, length);
                }
                    // Close the streams
                myOutput.flush();
                myOutput.close();
                myInput.close();                       
        }

Grazie a Tutti
« Ultima modifica: 12 Ottobre 2011, 10:37:04 CEST da pumidru »