Autore Topic: Help copia DB  (Letto 915 volte)

Offline Lollo360

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • TuxBass
    • Mostra profilo
    • Blog
  • Sistema operativo:
    Mac Os X 10.6
Help copia DB
« il: 09 Agosto 2010, 20:26:04 CEST »
0
Ho trovato in un'altra discussione il seguente codice per includere un database nel progetto e poi copiarlo sul dispositivo però non riesco ad usarlo in quanto non capisco cosa è e a cosa si riferisce la variabile myContext  :-(

Codice (Java): [Seleziona]
private static final String DB_NAME    = "miofile.sql";
private static String DB_PATH = "/data/data/my.package/databases/";

private void copyDataBase() throws IOException
{
        InputStream myInput = myContext.getAssets().open(DB_NAME);
       
        String outFileName = DB_PATH + DB_NAME;

        OutputStream myOutput = new FileOutputStream(outFileName);
       
        byte[] buffer = new byte[1024];
        int length;
        while ((length = myInput.read(buffer))>0)
        {
                myOutput.write(buffer, 0, length);
        }

}
        myOutput.flush();
        myOutput.close();
        myInput.close();
 
}

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Help copia DB
« Risposta #1 il: 09 Agosto 2010, 20:57:39 CEST »
+1
se sei all'interno di un activity, puoi tralasciarlo ed usare direttamente

Codice (Java): [Seleziona]
getAssets().open(DB_NAME)(questo perche Activity estende Context)
se ti è piu chiaro, chiama
Codice (Java): [Seleziona]
this.getAssets().....;
se no, se ti serve proprio il Context e non la sottoclasse,  sempre all'interno di un activity, lo ottieni chiamando

Codice (Java): [Seleziona]
getApplicationContext()

in generale il context in android, serve per accedere a tutte le risorse e servizi di cui la tua applicazione può fruire.
Context | Android Developers


Offline Lollo360

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • TuxBass
    • Mostra profilo
    • Blog
  • Sistema operativo:
    Mac Os X 10.6
Re:Help copia DB
« Risposta #2 il: 09 Agosto 2010, 21:19:41 CEST »
0
Ok grazie mille  :-)

Offline strike76

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid
  • Play Store ID:
    Paolo Quattrociocchi
Re:Help copia DB
« Risposta #3 il: 10 Agosto 2010, 09:37:04 CEST »
0
Mi aggangio a questa discussione perche' ho un problema con questo metodo. In pratica quando provo a copiare un file in asset maggiore di 1mb il metodo va in eccezione non gestita... Con file piu' piccoli invece il problema non esiste. Che ne dite ????

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Help copia DB
« Risposta #4 il: 10 Agosto 2010, 11:50:05 CEST »
0
strike sarebbe meglio aprire un nuovo topic...
il tuo, è un problema diverso.

magari quando apri la discussione, metti qualche dettaglio in più :)

Offline strike76

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid
  • Play Store ID:
    Paolo Quattrociocchi
Re:Help copia DB
« Risposta #5 il: 10 Agosto 2010, 13:03:59 CEST »
0
Risolto Qlimax... ho semplicemente rinominato il file in input nella cartella assets in .mp3 e cosi non da problemi  o_O o_O o_O o_O o_O o_O