Escribe sin mirar. Después contrasta y corrige. Estas respuestas se
autoevalúan: no se califican automáticamente.
Bases móviles y MVVM
Explica por qué separarías View y ViewModel y qué ocurre si el sistema
elimina el proceso.
Ver solución y respuesta modelo
Ejemplo de aplicación
En un formulario de saludo, Entry edita Nombre mediante TwoWay;
SaludarCommand cambia Saludo y un Label recibe el cambio mediante
OneWay. Para una nota, GuardarCommand llama a un repositorio y
confirma el guardado antes de mostrar éxito.
Comprueba tu explicación
Separé presentación, estado y acciones.
Expliqué el papel de BindingContext y la notificación.
Distinguí memoria de persistencia sin depender solo del cierre.
Es una respuesta posible: puedes expresarla de otra forma si
mantienes el razonamiento correcto.
Dibuja el recorrido de una nota: lista, detalle, edición y base de
datos.
Ver solución y respuesta modelo
Ejemplo de aplicación
Recorrido: lista → seleccionar nota #7 → detalle recibe ID7 →
repositorio lee SQLite → editar Texto → guardar con await →
refrescar la lista. Antes de consultar, espero la inicialización de
la tabla; para editar una nota existente, actualizo su registro en
vez de insertar otra copia.
Comprueba tu explicación
Expliqué el recorrido desde la lista hasta la base.
Distinguí notificación de colección y de elemento.
Incluí validación de ID, inicialización esperada y recuperación al
iniciar.
Es una respuesta posible: puedes expresarla de otra forma si
mantienes el razonamiento correcto.
¿Qué debería ver el usuario si niega cámara o no existe ubicación
disponible?
Ver solución y respuesta modelo
Ejemplo de aplicación
Al tocar Adjuntar foto: comprobar soporte → gestionar permiso →
capturar → comprobar si hay archivo → copiar al almacenamiento
privado. Si el usuario cancela, conservo el formulario. Si GPS no
devuelve Location, guardo la nota sin coordenadas y muestro “Sin
ubicación disponible”.
Comprueba tu explicación
Diferencié disponibilidad, permiso y cancelación.
Ofrecí alternativas sin forzar al usuario.
Mencioné null, errores y configuración específica de plataforma.
Es una respuesta posible: puedes expresarla de otra forma si
mantienes el razonamiento correcto.
Explica cómo una nota viaja como JSON y cómo vuelve al almacenamiento
local.
Ver solución y respuesta modelo
Ejemplo de aplicación
Creo una nota local con un ID y Pendiente=true. El servicio envía un
DTO mediante POST. Si el servidor confirma, guardo el ID remoto y
limpio Pendiente. Si falla o hay timeout, conservo los datos y
planifico un reintento idempotente. Al descargar notas, actualizo
por ID según la política elegida, no comparando únicamente el texto.
Comprueba tu explicación
Distinguí modelo local, DTO y JSON.
Expliqué await sin afirmar que crea automáticamente otro hilo.
Incluí errores, confirmación, IDs y consistencia al sincronizar.
Es una respuesta posible: puedes expresarla de otra forma si
mantienes el razonamiento correcto.