viernes, 31 de julio de 2015

Modulo 7 Manejo de Ficheros. 7.1 Escribir datos en un fichero en la tarjeta SD

Para el manejo de archivos se usa la clase File del paquete java.io. Para escribir se usa FileOutputStream y PrintWriter. La clase Environment de Android porporciona información acerca del dispositivo de almacenamiento:
El siguiente ejemplo escribe datos en un fichero de la tarjerta SD. Concretamente:

  • Utiliza Environment.getExternalStorageState() para determinar si existe tarjeta SD y está disponible (mounted).
  • Posteriormente se usa Environment.getExternalstorageDirectory(); para identificar el directorio correspondiente a la tarjeta SD
  • Crea un subdirectorio datos en la tarjeta (si no existe ya).
  • Abre un fichero de datos datos1.txt en el subdirectorio datos
  • Escribe una cadena de en el fichero datos1.txt
  • Cierra el fichero 

Se le deben dar permisos en el archivo .manifest añadiendo lo siguiente:



  
  






jueves, 30 de julio de 2015

MODULO 5- Guardar datos con SharedPreferences

En esta ocasión se utiliza la clase SharedPreferences para guardar datos en un fichero de datos:

SharedPreferences misDatos = getSharedPreferences (fichero, acceso);

donde "fichero" es el nombre del fichero donde se guarda la información, sin extensión; si el fichero no existe se crea uno nuevo. El numero entero "acceso" es usualmente 0, indicando que el fichero es privado. Para leer las preferencias se usa el método getString() o getFloat(), getInt() para leer números.

Para modificar las preferencias se usa un editor, que es un objeto de la clase SharedPreferences.Editor el cual permite escribir datos con sus etiquetas (entre comillas) y salvar el fichero de la siguiente forma:

SharedPreferences.Editor miEditor = misDatos.edit();
//escribe los datos
miEditor.putString("nombre",nombre);
miEditor.puFloat("x",x);
miEditor.puFloat("y",y);
//salvar
miEditor.commit();

Las imágenes se muestran a continuación:

   


miércoles, 29 de julio de 2015

4.3 Forma alternativa de implementar OnKeyListener

José Enrique Amaro Soriano, presenta otra alternativa para implementar la clase OnKeyListener, es una modificación a la entrada anterior, en este ejemplo no se implementa la clase OnKeyListener dentro de un método onCreate(), en esta ocasión se implementa directamente en la clase:

public class MainActivity extends Activity implements OnKeyListener

y la clase onKey se define dentro de la clase MainActivity, en esta vez el EditText accede al método onKeyListener(this).

edditText.onKeyListener(this)

Desde mi punto de vista esta es la mejor manera de implementar la clase OnKeyListener.

  

4.2 OnKeyListener

La clase OnKeyListener se usa para "Escuchar cuando se presiona una tecla", es por esto que en este ejemplo se implementa esta clase con una modificación a la entrada anterior en la cual se daba clic al botón para mostrar el mensaje, en este caso se debe dar "enter" para mostrar el mensaje, es allí donde se hace uso de la clase OnKeyListener. Cabe mencionar que la clase a la cual se esta haciendo referencia en esta ocasión es: import android.view.View.OnKeyListener ya que en mi caso importé otra clase y la aplicación se cerraba.

 

Modulo 4 Introducción de textos. 4.1 TextField

A partir de este módulo el autor enseña como agregar un campo de texto, el cual al escibirle un texto y dar click al botón este ejecuta el método onClick y obtiene el string escrito en el campo de Texto, posteriormente lo muestra en un TextView haciendo uso del método append, dejo las imágenes:





3.6 Calculadora

La calculadora que muestra el autor José Enrique Amaro Soriano, como el mismo lo dice es una calculadora rudimentaria, tiene algunas deficiencias, pero espero modificarlo para que se parezca a la calculadora que usualmente manejamos.

   
 

lunes, 27 de julio de 2015

3.5 Cambiar el color de los botones

Solo se agrega un botón al ejemplo de la entrada anterior; el código que va dentro del método onClic es el siguiente:

if (v.getId()==R.id.boton1){
    i1++;
    rojo = dcolor* i1 % cmax;
    }else if (v.getId()==R.id.boton2){
    i2++;
    verde = dcolor* i2 % cmax;
    }else if (v.getId()==R.id.boton3){
    i3++;
    azul = dcolor* i3 % cmax;
    }
   
    ((TextView) v).setText("Color: "+rojo+","+verde+","+azul);
    v.setBackgroundColor(Color.rgb(rojo, verde, azul));

El resultado obtenido es el siguiente: