Autore Topic: Lettura Dinamica File Testo Da Sd Card  (Letto 668 volte)

Offline donkilluminati

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY NEXT
  • Sistema operativo:
    2.2
Lettura Dinamica File Testo Da Sd Card
« il: 18 Maggio 2012, 16:17:40 CEST »
0
Salve ragazzi, ho un problema, sto creando un applicazione che e in grado di leggere piu file di testo(e fin qui ci siamo,) la mia applicazione dovrebbe dare la possibilità di cliccare su un bottone e visualizzare come schermata successiva il file correlato al bottone, ad esempio se clicco il bottone intervento1 devo poter vedere il file intervento1. 
Io ho pensato di farlo in questo modo:
 nella classe dove definisco i bottoni, quando ci clicco su, creo un intent che mi manda all'altra classe ,dove leggero il file, una stringa che mi dice quale file di testo dalla sdcard devo prelevare.
L'ho implementato e funziona, l'unico problema e che prima mi visualizza il file da me richiesto e subito dopo mi da nella stessa textview dove visualizzavo il mio file una schermata nera (se torno in dietro con il tasto fisico del mio dispositivo mi fa rivedere il file).
Perchè fa questo?
Spero di essere stato chiaro, vi inserisco in codice:

QUESTO E' IL CODICE DELLA CLASSE DOVE CI SONO I BOTTONI E DOVE CON L'INTENT INVIO LA STRINGA ALL'ALTRA CLASSE


[/code]
Codice: [Seleziona]
[size=1]
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class Classe3 extends Activity
{
        Button intervento1 , intervento2;
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.classe3);
       
        intervento1 = (Button) findViewById (R.id.intervento1);
        intervento2 = (Button) findViewById (R.id.intervento2);
       
        intervento1.setOnClickListener(new View.OnClickListener() {
               
                public String st1="/sdcard/attivita/intervento1.txt";
                       
                @Override
                        public void onClick(View v) {
                        Intent intent = new Intent(Classe3.this , Classe4.class );
                                intent.putExtra("x",st1);
                                startActivity(intent);
                                // TODO Auto-generated method stub
                                switch ( v.getId() ) {
                    case R.id.intervento1:
                    Bundle bundle = new Bundle();
                    Intent form_intent = new Intent(getApplicationContext(), Classe4.class);
                    form_intent.putExtras(bundle);
                    startActivity(form_intent);
                    break;
                }
                               
                        }
                });



intervento2.setOnClickListener(new View.OnClickListener() {
                public String st1="/sdcard/attivita/intervento2.txt";
                        @Override
                        public void onClick(View a) {
                               
                               
                               
                               
                                Intent intent = new Intent(Classe3.this , Classe4.class );
                                intent.putExtra("x",st1);
                                startActivity(intent);
                                // TODO Auto-generated method stub
                                 switch ( a.getId() ) {
                            case R.id.intervento2:
                            Bundle bundle = new Bundle();
                            Intent form_intent = new Intent(getApplicationContext(), Classe4.class);
                            form_intent.putExtras(bundle);
                            startActivity(form_intent);
                            break;
                        }
                               
                        }
                });
       
 
   
   
}
}
     [/size]
Codice: [Seleziona]

QUESTO E' IL CODICE DELLA CLASSE DOVE DOVREI VISUALIZZARE IL FILE DI TESTO:


Codice: [Seleziona]

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;




import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;




public class Classe4 extends Activity  {
        public String st1;
        public TextView textview1 ;






       
       
       
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.classe4);
       
        textview1 = (TextView) findViewById(R.id.textview1);
        st1 = getIntent().getStringExtra("x");
       


       
        try{
                File myFile = new File(st1);
                    FileInputStream fIn = new FileInputStream(myFile);
                    BufferedReader myReader = new BufferedReader(
                            new InputStreamReader(fIn));
                    String aDataRow = "";
                    String aBuffer = "";
                    while ((aDataRow = myReader.readLine()) != null) {
                        aBuffer += aDataRow + "\n";
                    }
                    textview1.setText(aBuffer);
                    myReader.close();
        }
        catch (Exception e) {
                Toast.makeText(getBaseContext(), e.getMessage(),
                        Toast.LENGTH_SHORT).show();
        }
            
    }; //finisce public void
   
 
   
}//finisce public class



VI RINGRAZIO IN ANTICIPO PER L'AIUTO...