Autore Topic: Leggere un file di testo presente nell'SD virtuale (uso SDK)  (Letto 1805 volte)

Offline Albe85

  • Utente junior
  • **
  • Post: 102
  • Respect: +1
    • Mostra profilo
Leggere un file di testo presente nell'SD virtuale (uso SDK)
« il: 06 Ottobre 2010, 23:25:55 CEST »
0
Come posso fare se volessi leggere un file di testo salvato sulla SD virtuale dell'SDK di android? (uso l'ultima versione dell'sdk con "installato" android 2.2)
 
Io praticamente produco questo file di testo interrogando un database PostgreeSQL e precisamente contiene una lista della spesa.
Ho un'altra domanda. Come devo fare se voglio far comparire il risultato della lettura del file al posto che in un toast in una casella di testo (per ora voglio leggere una sola riga)???
Successivamente cercherò di implementare una listview importando i dati dal file di testo sulla sd in un database SQLite in modo da rendermi il tutto più gestibile.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #1 il: 07 Ottobre 2010, 01:16:24 CEST »
0
Innanzi tutto benvenuto :)

In questo forum preferiamo rispondere a domande come "perchè questo mio codice non funziona?"
Generalmente le risposte a "come posso fare per" si trovano molto facilmente con una ricerca in rete :)

Comunque per la prima domanda:
anddev.org • View topic - read a .txt file from sd card in a real device

Per la seconda domanda lti consiglio di guardarti in rete qualche esempio su come si usano gli EditText, un punto di partenza potrebbe essere questo:
Form Stuff | Android Developers
« Ultima modifica: 07 Ottobre 2010, 01:19:16 CEST da Ricky` »

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #2 il: 07 Ottobre 2010, 01:31:09 CEST »
0
Ammettendo che il file da leggere, chiamato MioFile.txt, sia presente nella root della SD, il relativo oggetto File lo ottieni così:
Codice (Java): [Seleziona]
String FILENAME = "MioFile.txt";
File SD_PATH = Environment.getExternalStorageDirectory();
File mioFile = new File(SD_PATH, FILENAME);
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Albe85

  • Utente junior
  • **
  • Post: 102
  • Respect: +1
    • Mostra profilo
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #3 il: 07 Ottobre 2010, 10:56:42 CEST »
0
In questo modo sono andato a leggere il file che si chiama "prova.txt" nella root della SD virtuale

Codice (Java): [Seleziona]
        try{

               File frova = new File(Environment.getExternalStorageDirectory()+"/prova.txt");
   
               InputStream fileIS = new FileInputStream(frova);
 
               BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));

               String readString = new String();

               //just reading each line and pass it on the debugger
   
               while((readString = buf.readLine())!= null){

                  Log.d("line: ", readString);

               }

            } catch (FileNotFoundException e) {
               e.printStackTrace();
       
            } catch (IOException e){
               e.printStackTrace();
            }

Ora se voglio far comparire il risultato della lettura in una TextView o in una ListView come devo fare?
Grazie mille!
ciao

Offline Albe85

  • Utente junior
  • **
  • Post: 102
  • Respect: +1
    • Mostra profilo
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #4 il: 07 Ottobre 2010, 11:29:50 CEST »
0
Ho risolto in questo modo:
Codice (Java): [Seleziona]
TextView ciaoa=(TextView)findViewById(R.id.TextView01);
                     
ciaoa.setText(readString);

dove TextView01 è l'id della TextView presente nel main.xml

Ora io dovrei riuscire a leggere una serie di righe da questo file di testo e memorizzarle in una listview dinamica.
Sapete indicarmi qualche suggerimento?
Grazie ciao

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #5 il: 07 Ottobre 2010, 11:34:54 CEST »
0
Le listview sono una brutta bestia, specialmente per chi si sta avvicinando per la prima volta ad Android.
Ti consiglio di studiarti a fondo l'esempio Hello ListView: List View | Android Developers

È sicuramente un ottimo punto di partenza e, con qualche piccola modifica, dovresti riuscire ad adattarlo al tuo caso.
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Albe85

  • Utente junior
  • **
  • Post: 102
  • Respect: +1
    • Mostra profilo
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #6 il: 07 Ottobre 2010, 11:38:17 CEST »
0
Mi consiglieresti di passare per un database SQLite?
Io questi dati li prelevo da un database PostGreeSQL e li salvo in un file di testo. In pratica devo semplicemente creare una lista della spesa.
Forse è meglio creare un database SQLite. Mi sa che è più gestibile.
Sai indicarmi gentilmente quelche tutorial?
Ti ringrazio ancora.

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #7 il: 07 Ottobre 2010, 11:48:06 CEST »
0
Ma non mi è chiaro, questo file di testo che leggi, quando viene generato? I dati letti vanno riutilizzati? Modificati? O devi solo stampare a video il contenuto del file di testo?
Se vuoi utilizzare un DB puoi dare uno sguardo al tutorial di Qlimax: [medio] Creazione e utilizzo di un database SQLite - Android Developers Italia
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Albe85

  • Utente junior
  • **
  • Post: 102
  • Respect: +1
    • Mostra profilo
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #8 il: 07 Ottobre 2010, 12:26:26 CEST »
0
Scusa è vero non sono stato troppo chiaro. Ora cerco di spiegarmi meglio.
Praticamente in questo file di testo ci saranno una serie di dati del tipo:

nome_articolo    barcode     quantità_da_comperare     

Questi dati vengono prelevati tramite una SQL su PostgreeSQL in locale su un server e salvati in un file di testo che poi verrà inviato sulla SD del device.
Io di questi dati presenti in questo file di testo volevo crearmi un database SQLite con la possibilità poi di aggiungerci un'immagine ecc...
Volevo crearmi un database dinamico che a seconda del numero di articoli presenti nel file di testo mi crei un database dinamico da visualizzare poi sul device sotto forma di lista in qualche modo.
Spero di essere stato più chiaro.

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #9 il: 07 Ottobre 2010, 12:28:39 CEST »
0
Beh, direi allora di utilizzare un bel DB SQLite :).
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Albe85

  • Utente junior
  • **
  • Post: 102
  • Respect: +1
    • Mostra profilo
Re:Leggere un file di testo presente nell'SD virtuale (uso SDK)
« Risposta #10 il: 07 Ottobre 2010, 12:30:06 CEST »
0
Ti ringrazio. Ora mi leggo un po di post.... :-)
ciaoooooo