Académique Documents
Professionnel Documents
Culture Documents
Introduccin
Muchos programas reales necesitan persistir estados, por ejemplo: tamao del font, una foto del ultimo viaje que hemos hecho, o el plan de la siguiente semana. Android nos permite almacenar informacin en nuestro mvil para usarlo despus y protegerlo de ser accesado accidentalmente o maliciosamente por otros programas.
Introduccin
Nuestra aplicacin puede almacenar datos usando diferentes tcnicas dependiendo del tamao de los datos, su estructura, su ciclo de vida, y si ser compartido con otros programas.
Cambios en Music.play()
Cambios en PuzzleView.onDraw()
Si retorna true, tenemos que dibujar los highlights para los hints.
Modificando Game.java
Aadiremos dos constantes: una para guardar el key del tablero y otro como flag para saber si queremos continuar un juego anterior o iniciar uno nuevo.
Modificando Game.java
Tambin necesitamos guardar el actual tablero donde el juego haya sido pausado.
Modificando Game.java
Cmo recuperamos la informacin? Recordemos que cuando el juego es iniciado, el getPuzzle() es invocado, y el nivel de dificultad es pasado.
Si esta establecido. En lugar de iniciar con un tablero de cero, continuamos con uno previamente guardado.
Modificando Sudoku.java
Habilitamos el botn Continue en la pantalla principal para que haga algo.
startGame() pasa el nivel de dificultad al activity Game, y el Game.onCreate() llama a Intent.getIntExtra() para leer la dificultad y pasar esto al getPuzzle().
Modificando Game.java
Hay una ltima cosa que hacer: restaurar nuestro juego previamente grabado cuando nuestro activity dejo de operar y retorna nuevamente. Esta modificacin se realiza en el Game.onCreate():
Modificando PuzzleView.java
Aadimos constantes para guardar y restaurar la posicin del cursor. Ms cualquier estado que necesitemos en la clase View.
Modificando PuzzleView.java
Como parte del procesamiento de Activity.onSaveInstanceState(), Android invoca a View.onSaveInstanceState() en cada View que posee un ID. Lo mismo sucede para onRestoreInstanceState(). Normalmente este ID viene desde el XML, pero, como la vista la hemos creado por cdigo, le establecemos un nmero arbitrario.
Modificando PuzzleView.java
El mtodo onSaveInstanceState() llama a la superclase para obtener su estado, y luego salva el estado suyo en su Bundle. El mtodo onRestoreInstanceState() recupera la informacin salvada. Obtiene nuestra posicin x e y desde el Bundle, y luego llama a la superclase. Despus de estos cambios el cursor ser recordado por PuzzleView como si fuera otra vista de Android.
Accesando a SD Cards
Algunos dispositivos de Android incluyen un slot para memoria adicional, tpicamente, Secure Digital (SD) card. Los tenemos de muchos tamaos para poder almacenar msica y video. Ellos no pueden ser usados por cdigo, y cada aplicacin puede leer y escribir archivos ah. Recuerda en un ejemplo anterior pusimos un vdeo en /data del emulador. Este es el lugar equivocado de hacerlo, puesto, que no es adecuado colocar archivos grandes en el sistema de archivos.
Accesando a SD Cards
La mejor forma es crear y formatear un virtual SD Card que podemos aadir al emulador. Afortunadamente ya lo tenemos. Cuando creamos el emulador le dijimos que tenamos un SD card de 64MB. Copiemos el ejemplo del video al SD Card:
Accesando a SD Cards
Accesando a SD Cards
Luego necesitamos modificar el mtodo onCreate() de la clase Video para ejecutar la pelicula desde el SD Card en lugar del directorio /data //Load and start the movie video.setVideoPath(/sdcard/samplevideo.3gp); Video.start();
Contacto
Jr. Huamachuco 1408, Oficina 401, Jess Mara Lima Per (511) 987500273 www.joedayz.pe