Autore Topic: Classpath  (Letto 696 volte)

Offline k3v1n

  • Utente junior
  • **
  • Post: 61
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S3
Classpath
« il: 19 Febbraio 2013, 21:15:37 CET »
0
Salve a tutti,

sto sviluppando la mia prima app android. All'avvio ho bisogno di creare un db. Ho scelto di eseguire un file.sql nel quale creo le tabelle e carico i dati.

Il problema è che non viene trovato il file... classico FileNotFileExc... dove dovrei storicizzarlo? Qual'è il classpath di un app? Mi date qualche dritta?

Grazie in anticipo

Luca

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Classpath
« Risposta #1 il: 20 Febbraio 2013, 08:42:53 CET »
0
Io lo metterei nel folder assets, in modo che venga incluso automaticamente nell'apk dell'applicazione e sia visibile esclusivamente dall'app.
Leggere un file nel folder assets da un'activity poi è molto semplice:

Codice (Java): [Seleziona]
AssetManager assetManager = getAssets();
InputStream input = null;
String fileContent = null;
try {
  input = assetManager.open("myscript.sql");

  int size = input.available();
  byte[] buffer = new byte[size];
  input.read(buffer);
  input.close();
 
  fileContent = new String(buffer);
} catch (IOException e) {
  e.printStackTrace();
  fileContent = null;
}
// se tutto è andato bene in fileContent ho il contenuto del file

Dimentica il concetto di classpath per accedere ai files di un'applicazione quando sviluppi in android, anche se viene spontaneo come approccio per uno sviluppatore che arriva da java "classico" è fuorviante.
Per questo genere di attività hai i folder standard di andorid (res e figli) e assets.
« Ultima modifica: 20 Febbraio 2013, 09:01:15 CET da Sakazaki »

Offline k3v1n

  • Utente junior
  • **
  • Post: 61
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S3
Re:Classpath
« Risposta #2 il: 20 Febbraio 2013, 12:15:38 CET »
0
perfetto, grazie mille. Ne approfitto per ulteriore domandina. Conosci qualche tool ORM per autogenerare i DAO a partire dal db sqlite?

Grazie