Generalidades
Día 68 de #100DaysOfCode.Hoy seguiré igual… | by Kushagra Kesav | abril 2022


los chicos 🙌
Hoy voy por el mismo camino que vamos Implemente la lógica del botón Omitir y valide los datos de ViewModel.
Ruta 2: Abastecimiento de componentes de arquitectura
https://developer.android.com/courses/android-basics-kotlin/curso
agregar implementación onSkipWord()
Procesado cuando se hace clic en el botón «Omitir».
- como
onSubmitWord()
agregaremos una condiciónonSkipWord()
método.Sitrue
, muestra la palabra en la pantalla y restablece el campo de texto.Sifalse
Y no hay más palabras en esta ronda, mostraremos el diálogo de alerta con el puntaje final.
/*
* Skips the current word without changing the score.
*/
private fun onSkipWord() {
if (viewModel.nextWord()) {
setErrorTextField(false)
updateNextWordOnScreen()
} else {
showFinalScoreDialog()
}
}
- Ejecutaremos nuestra aplicación. Juega el juego y notarás que los botones «Omitir» y «Enviar» funcionan como se esperaba.
- Ahora validaremos los datos guardados por ViewModel, en
GameViewModel
Haga clic derecho en la variablecurrentWordCount
escoger Refactorizar > Cambiar nombre… subrayar el nuevo nombre,_currentWordCount
. - Ahora agregaremos un campo de respaldo.
private var _currentWordCount = 0
val currentWordCount: Int
get() = _currentWordCount
- existir
GameFragment
enonCreateView()
encima de la declaración de devolución, agregaremos otro registro para imprimir los datos de la aplicación, el recuento de palabras, la puntuación y el recuento de palabras.
Log.d("GameFragment", "Word: ${viewModel.currentScrambledWord} " +
"Score: ${viewModel.score} WordCount: ${viewModel.currentWordCount}")
Notaremos que los datos de la aplicación se guardan en ViewModel
Durante la orientación, los cambios actualizarán el valor de la puntuación y el recuento de palabras mediante la interfaz de usuario LiveData
y enlace de datos en el laboratorio de código más tarde.
Eso es todo por el día 68 ✅
gracias por leer, ¡Nos vemos mañana!
Si estás leyendo mi #100DaysJourney, no dudes en pasarte 😉