Vous êtes sur la page 1sur 2

Curso de Android

INF-325

M.Sc. Reynaldo Zeballos

LABORATORIO DE ACCESO A ARCHIVOS IN (APK) OUT (SD CARD)


Para acceder a archivos texto, tenemos dos opciones en Android, realizarlo dentro de
la aplicacin o fuera de la aplicacin. Cuando es dentro de la aplicacin, el archivo se
copia en el folder ASSETS, pero cuando es fuera de la aplicacin, el archivo texto se
copia en la memoria SD. A continuacin tenemos tres botones que acceden a un
archivo de recetas (RECES.DAT) que previamente fue copiada al folder ASSETS y
copiador tambin a la memoria SD card ( /mnt/sdcard) del emulador. Para copiar a la
SD-CARD, desde el eclipse ingresamos a la vista DDMS, le damos click al emulador que
ya fue levantado, y en la pantalla de la derecha seleccionamos FILE EXPLORER, una vez
que aparezca los directorios de nuestro emulador, ingresamos al folder MNT y luego a
SDCARD. Finalmente seleccionamos uno de los conos que estn en la parte superior
derecha de la pantalla, que parecen puertitas, el que seleccionamos es el PUSH y
subimos el archivo RECES.DAT

NIVEL 1: Pruebe el presente programa


public void metodo1(View vista){
String estado = Environment.getExternalStorageState();
TextView tv = (TextView) findViewById(R.id.textView1);
if ( !estado.equals(Environment.MEDIA_MOUNTED)){
tv.setText("No hey memoria SD");
finish();
}
tv.setText("Listo la memoria SD");
File dir = Environment.getExternalStorageDirectory();
File puntero = new File(dir.getAbsolutePath()+File.separator+"reces.dat");
try {
BufferedReader lector =
new BufferedReader(new FileReader(puntero));
StringBuilder texto = new StringBuilder();
String linea;
while ( (linea=lector.readLine())!=null){
texto.append(linea);
texto.append("\n");
}
lector.close();
tv.setText(texto);
}
catch (IOException e){
e.printStackTrace();
}
}
public void metodo2(View vista){
String estado = Environment.getExternalStorageState();
TextView tv = (TextView) findViewById(R.id.textView1);
if ( !estado.equals(Environment.MEDIA_MOUNTED)){
tv.setText("No hey memoria SD");
finish();
}

Curso de Android

INF-325

M.Sc. Reynaldo Zeballos

tv.setText("Listo la memoria SD");


File dir = Environment.getExternalStorageDirectory();
File puntero = new File(dir.getAbsolutePath()+File.separator+"reces.dat");
try {
Scanner lector = new Scanner(new FileReader(puntero));
StringBuilder texto = new StringBuilder();
String linea;
while ( lector.hasNext() ){
linea = lector.nextLine();
texto.append(linea);
texto.append("\n");
}
lector.close();
tv.setText(texto);
}
catch (IOException e){
e.printStackTrace();
}
}
public void metodo3(View vista){
try {
AssetManager p = getAssets();
InputStream lector = p.open("reces.dat");
ByteArrayOutputStream bs = new ByteArrayOutputStream();
String linea;
int largo=0;
byte[] bytes= new byte[4096];
while ( (largo=lector.read(bytes))>0 ){
bs.write(bytes,0,largo);
}
lector.close();
linea = new String( bs.toByteArray(), "UTF-8");
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText(linea);
p.close();
}
catch (IOException e){
e.printStackTrace();
}
}
public void limpiar(View vista){
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText("");
}

NIVEL 2: Listar el men principal del archivo MANUALANDROID.TXT,


mostrando en el LISTBOX todos los ttulos principales (XYZ),(NIVEL 3)
ttulos secundarios (YYY) y (NIVEL 4)subttulos (ZZZ), de modo que cuando
uno seleccione una opcin, el sistema muestre ESA parte del manual.

Vous aimerez peut-être aussi