Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    applicazione per lettura e stampa a video file di testo

    Salve, sono alle prime armi sia per quanto riguarda java che per quanto riguarda questo forum (abbiate pazienza). Ho bisogno di una mano per un progetto sulla creazione di una applicazione che tra le tante funzioni mi deve leggere e stampare a video il contenuto di un file di testo presente sull'sdcard.
    Questo è l'attività su cui sto lavorando ma non riesco a leggere il file:

    codice:
    package com.prova;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Environment;
    import android.view.Menu;
    import android.widget.TextView;
    
    public class ListaPazienti extends Activity {
    	//Find the directory for the SD Card using the API
    	//*Don't* hardcode "/sdcard"
    	File sdcard = Environment.getExternalStorageDirectory();
    
    	//Get the text file
    	File file = new File(sdcard + "/pazienti/","lista.txt");
    	
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_lista_pazienti);
    
    	//Read text from file
    	StringBuilder text = new StringBuilder();
    
    	try {
    	    BufferedReader br = new BufferedReader(new FileReader(file));
    	    String line;
    
    	    while ((line = br.readLine()) != null) {
    	        text.append(line);
    	        text.append('\n');
    	    }
    	}
    	catch (IOException e) {
            System.out.println("errore lettura");
            System.exit(1); 
    	    //You'll need to add proper error handling here
    	}
    
    	//Find the view by its id
    	TextView tv = (TextView)findViewById(R.id.txtPaziente1);
    
    	//Set the text
    	tv.setText(text);
        }
    	
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_lista_pazienti, menu);
            return true;
            }
    }
    il file di testo è in questo formato:
    Paolo
    Bianchi
    11/11/2011#09:15:00
    Bari#Via Orabona 4
    Livio
    Rossi
    83/02
    3331234522
    controllo livello del diabete
    il paziente è non vedente

    Quello di cui ho bisogno è che l'attività mi debba stampare in una textview solo la prima e la seconda riga ovvero il nome e cognome del paziente e cliccando su tale textview si deve aprire una nuova attività su cui compariranno tutti gli altri dati presenti nel file txt.

    So di chiedere parecchio ma sono davvero fermo a questo punto
    Grazie in anticipo

  2. #2
    Che significa non riesci a leggere il file ?

    Ti lancia un'eccezione ?
    Non ti legge nessuna riga ?

  3. #3
    Avevo sbagliato una cosa ora il file lo legge e o me lo mostra nella textview che ho creato, in pratica mi compare l'intero file così come è presente ma io volgio creare un'eccezione solo per mostrare alcune righe e ad esempio mi deve comparire a video Paolo Bianchi cliccabile in modo tale da avviare un'altra attività
    Come posso fare?
    questa è la textview creata dove attulmente mi compare l'intero file

    codice:
       <TextView
            android:id="@+id/txtPaziente1"
            android:layout_width="270dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="#666FFF"
            android:textSize="10sp"
            android:textStyle="bold|normal"
            android:typeface="serif"
            android:visibility="visible" />

  4. #4
    Leggi solo le prime due righe del file

    codice:
    int i = 0;
    while ((line = br.readLine()) != null && (i++ < 2) ) {
    	        text.append(line);
    	        text.append('\n');
    	    }

    poi aggiungi un Click listener alla textView e nel metodo onClick lanci un Intent con la
    nuova Activity.

    Secondo me nemmeno ti conviene creare una nuova activity.
    crei una stringa dallo StringBuilder (chiamiamola testoInizio ) quando i e' uguale a 2
    Continui a leggere il file e alla fine crei un'altra stringa testoIntero sempre dallo StringBuilder.

    all'inizio chiami textView.setText(testoInizio).
    Poi Basta che in onClick fai textView.setText(testoIntero)

  5. #5
    Grazie per la risposta.
    Sono riuscito a stampare la prima e seconda riga come mi hai suggerito ma ad esempio non riesco a stampare in un altro textview la riga 4 e 5 ad esmpio. Dovrei duplicare la funzione cambiando le variabili?

    Perdonami ma non ho capito come applicare onclick alle due textview

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.