Guardar y cargar un dato numerico
Publicado por Amaia (4 intervenciones) el 28/08/2012 19:55:10
Hola!
Estoy intentando hacer un contador. Tengo un boton, que si le das, te va sumando de uno en uno, y la cuenta aparece en un textview. Al salir de la app, el numero de la cuenta se guarda en un txt. Al iniciar de nuevo, el contador sí que aparece tal como lo habíamos dejado (carga bien el textView), pero soy incapaz de que ése número también se me carge en el int que lleva el contador.
public class MisApp extends Activity {
int contador;
int precio;
Button button1, button2;
TextView tv2, tv4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mi_app);
tv2 = (TextView) findViewById(R.id.tv2);
tv4 = (TextView) findViewById(R.id.tv4);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
//Para leer y guardar el archivo en la memoria
String []archivos=fileList();
if (existe(archivos,"archivo.txt"))
try {
InputStreamReader archivo=new InputStreamReader(openFileInput("archivo.txt"));
BufferedReader br=new BufferedReader(archivo);
String linea=br.readLine();
br.close();
archivo.close();
tv2.setText(linea);
---- si pongo esto no funciona ----
contador = Integer.parseInt(linea);
-------------------------------------------------
} catch (IOException e)
{
}
else
{
}
//precio=contador;
}
public void sumar(View view) {
contador++;
precio = contador;
tv2.setText("La cuenta va en " + contador);
tv4.setText(precio + "€");
//para guardar datos
try {
OutputStreamWriter archivo = new OutputStreamWriter(openFileOutput("archivo.txt",Activity.MODE_PRIVATE));
archivo.write(tv2.getText().toString());
archivo.flush();
archivo.close();
}catch (IOException e)
{
}
}
//Para leer y guardar el archivo
private boolean existe(String[] archivos,String archbusca)
{
for(int f=0;f<archivos.length;f++)
if (archbusca.equals(archivos[f]))
return true;
return false;
}
}
Estoy intentando hacer un contador. Tengo un boton, que si le das, te va sumando de uno en uno, y la cuenta aparece en un textview. Al salir de la app, el numero de la cuenta se guarda en un txt. Al iniciar de nuevo, el contador sí que aparece tal como lo habíamos dejado (carga bien el textView), pero soy incapaz de que ése número también se me carge en el int que lleva el contador.
public class MisApp extends Activity {
int contador;
int precio;
Button button1, button2;
TextView tv2, tv4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mi_app);
tv2 = (TextView) findViewById(R.id.tv2);
tv4 = (TextView) findViewById(R.id.tv4);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
//Para leer y guardar el archivo en la memoria
String []archivos=fileList();
if (existe(archivos,"archivo.txt"))
try {
InputStreamReader archivo=new InputStreamReader(openFileInput("archivo.txt"));
BufferedReader br=new BufferedReader(archivo);
String linea=br.readLine();
br.close();
archivo.close();
tv2.setText(linea);
---- si pongo esto no funciona ----
contador = Integer.parseInt(linea);
-------------------------------------------------
} catch (IOException e)
{
}
else
{
}
//precio=contador;
}
public void sumar(View view) {
contador++;
precio = contador;
tv2.setText("La cuenta va en " + contador);
tv4.setText(precio + "€");
//para guardar datos
try {
OutputStreamWriter archivo = new OutputStreamWriter(openFileOutput("archivo.txt",Activity.MODE_PRIVATE));
archivo.write(tv2.getText().toString());
archivo.flush();
archivo.close();
}catch (IOException e)
{
}
}
//Para leer y guardar el archivo
private boolean existe(String[] archivos,String archbusca)
{
for(int f=0;f<archivos.length;f++)
if (archbusca.equals(archivos[f]))
return true;
return false;
}
}
Valora esta pregunta


0