Ejercicios Repaso
Ejercicios Repaso
Ejercicios Repaso
EJERCICIOS REPASO
1. En el proyecto encontrarás una interfaz para orientación vertical y otra alternativa
para orientación apaisada (land). La caja de la contraseña muestra los caracteres
intencionadamente.
Evita que al cambiar de orientación el dispositivo, se pierda el texto tecleado en el
EditText del nick.
Al hacer clic en “Entrar” se cerrará la activity, pero antes de ello, si el checkbox está
marcado ( isChecked() ), guardarás el nick utilizando SharedPreferences. De este
modo, al volver arrancar la Activity, recuperarás y mostrarás el “nick” en su
respectiva caja de texto, además de activar el checkbox ( setChecked(true) ). Por el
contrario, si el checkbox está desactivado al hacer click en el botón “Entrar”, si se
hubiese guardado un “nick”, este deberá ser borrado.
2. Crea una primera Activity, con un TextView (para visualizar los datos del usuario
“logeado”: “nombre (nick) bienvenido/a”) y un botón con el texto “Login”. El clic en
este botón “Login”, lanzará una segunda Activity. Esta segunda Activity contendrá dos
EditText para que el usuario pueda teclear nick y contraseña, y un botón con el texto
“Entrar”.
Al pulsar el botón “Entrar” de la segunda Activity, simularemos un login correcto
siempre que el nick introducido sea “neo” y la contraseña “sesamo”. Si es así, se creará
un objeto Usuario con dicho nick, nombre: “Andrés”, apellidos: “Harminio Jiménez”,
sexo: “h” y se entregará a la primera Activity. Si el usuario no existe, se mostrará un
mensaje Toast advirtiendo de esta circunstancia.
La primera Activity al recibir el objeto Usuario¸ mostrará “nombre (nick)
bienvenido/a” en su TextView.
1 de 2
DAM – Programación Multimedia y Dispositivos Móviles – Ejercicios Repaso
4. A partir del proyecto entregado, desarrolla una aplicación que sirva para registrar en
una base de datos la evolución a lo largo del tiempo del peso de una persona (para ello
bastará con una simple tabla con una columna de para el peso y otra de tipo fecha.
Utilizando una de las características de SQLite (rowid) no crearemos campo clave. La
Activity principal mostrará un ListView con los pesajes más recientes obtenidos desde
la base de datos.
La aplicación tiene una segunda Activity, cuya interfaz visualizará un TextView, un
EditText y un Button con el texto “Aceptar”. Esta Activity servirá tanto para añadir un
nuevo pesaje mediante el menú principal, como para actualizar el valor del peso de un
pesaje existente mediante el menú contextual sobre un item del ListView, este menú
contextual permitirá también eliminar un pesaje.
Para obtener una representación String de la fecha y hora actuales para insertar en la
base de datos, dispones del siguiente método:
private String getStringFechaHoraActual() {
GregorianCalendar calendarioHoy= new GregorianCalendar();
Date fechaHoraActual = calendarioHoy.getTime();
Para obtener una fecha formateada de la base de datos y mostrarla en el ListView, usa
la siguiente función de SQLite en la sentencia SELECT:
strftime('%d/%m/%Y %H:%M:%S',FECHA_CREACION) AS FECHA, donde
FECHA_CREACION será el nombre de la columna de tipo fecha de tu tabla de tu base
de datos.
Nota: strftime es una función de SQLite, puedes encontrar el detalle de esta y otras en
la siguiente dirección: http://www.sqlite.org/lang_corefunc.html
2 de 2