package net.sgoliver.android.ficheros;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btnEscribirFichero = null;
private Button btnLeerFichero = null;
private Button btnEscribirSD = null;
private Button btnLeerSD = null;
private Button btnLeerRaw = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnEscribirFichero = (Button)findViewById(R.id.BtnEscribirFichero);
btnLeerFichero = (Button)findViewById(R.id.BtnLeerFichero);
btnEscribirSD = (Button)findViewById(R.id.BtnEscribirSD);
btnLeerSD = (Button)findViewById(R.id.BtnLeerSD);
btnLeerRaw = (Button)findViewById(R.id.BtnLeerRaw);
btnEscribirFichero.setOnClickListener(new OnClickListener() {
public void onClick(View arg0)
{
try
{
OutputStreamWriter fout =
new OutputStreamWriter(
openFileOutput("prueba_int.txt", Context.MODE_PRIVATE));
fout.write("Texto de prueba.");
fout.close();
Log.i("Ficheros", "Fichero creado!");
}
catch (Exception ex)
{
Log.e("Ficheros", "Error al escribir fichero a memoria interna");
}
}
});
btnLeerFichero.setOnClickListener(new OnClickListener() {
public void onClick(View arg0)
{
try
{
BufferedReader fin =
new BufferedReader(
new InputStreamReader(
openFileInput("prueba_int.txt")));
String texto = fin.readLine();
fin.close();
Log.i("Ficheros", "Fichero leido!");
Log.i("Ficheros", "Texto: " + texto);
}
catch (Exception ex)
{
Log.e("Ficheros", "Error al leer fichero desde memoria interna");
}
}
});
btnLeerRaw.setOnClickListener(new OnClickListener() {
public void onClick(View arg0)
{
String linea = "";
try
{
InputStream fraw =
getResources().openRawResource(R.raw.prueba_raw);
BufferedReader brin =
new BufferedReader(new InputStreamReader(fraw));
linea = brin.readLine();
fraw.close();
Log.i("Ficheros", "Fichero RAW leido!");
Log.i("Ficheros", "Texto: " + linea);
}
catch (Exception ex)
{
Log.e("Ficheros", "Error al leer fichero desde recurso raw");;
}
}
});
btnEscribirSD.setOnClickListener(new OnClickListener() {
public void onClick(View arg0)
{
boolean sdDisponible = false;
boolean sdAccesoEscritura = false;
//Comprobamos el estado de la memoria externa (tarjeta SD)
String estado = Environment.getExternalStorageState();
if (estado.equals(Environment.MEDIA_MOUNTED))
{
sdDisponible = true;
sdAccesoEscritura = true;
}
else if (estado.equals(Environment.MEDIA_MOUNTED_READ_ONLY))
{
sdDisponible = true;
sdAccesoEscritura = false;
}
else
{
sdDisponible = false;
sdAccesoEscritura = false;
}
//Si la memoria externa est� disponible y se puede escribir
if (sdDisponible && sdAccesoEscritura)
{
try
{
File ruta_sd_global = Environment.getExternalStorageDirectory();
//File ruta_sd_app_musica = getExternalFilesDir(Environment.DIRECTORY_MUSIC);
File f = new File(ruta_sd_global.getAbsolutePath(), "prueba_sd.txt");
OutputStreamWriter fout =
new OutputStreamWriter(
new FileOutputStream(f));
fout.write("Texto de prueba.");
fout.close();
Log.i("Ficheros", "Fichero SD creado!");
}
catch (Exception ex)
{
Log.e("Ficheros", "Error al escribir fichero a tarjeta SD");
}
}
}
});
btnLeerSD.setOnClickListener(new OnClickListener() {
public void onClick(View arg0)
{
try
{
File ruta_sd_global = Environment.getExternalStorageDirectory();
File f = new File(ruta_sd_global.getAbsolutePath(), "prueba_sd.txt");
BufferedReader fin =
new BufferedReader(
new InputStreamReader(
new FileInputStream(f)));
String texto = fin.readLine();
fin.close();
Log.i("Ficheros", "Fichero SD leido!");
Log.i("Ficheros", "Texto: " + texto);
}
catch (Exception ex)
{
Log.e("Ficheros", "Error al leer fichero desde tarjeta SD");
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}