Android DataBinding proporciona una forma de conectar la interfaz de usuario a la lógica empresarial, permitiendo que los valores de la interfaz de usuario se actualicen automáticamente sin intervención manual. Esto reduce la mayor parte del código de la caldera en la lógica empresarial, que generalmente se escribe para sincronizar la interfaz de usuario cuando hay nuevos datos disponibles. DataBinding es uno de los componentes de la arquitectura de Android sugeridos por Android.
En este artículo aprenderemos los conceptos básicos de DataBinding y en el siguiente artículo, se construye una pantalla de perfil simple usando RecyclerView con DataBinding .
1.1 Habilitación de DataBinding 1.2 Ejemplo básico 1.3 ¿No se generan mis clases de DataBinding? 1.4 Enlace de datos en el diseño 1.5 Enlace de escucha de clics / Evento de manejo 1.6 Actualización de la interfaz de usuario usando Observables 1.7 Actualización de la interfaz de usuario usando ObservableFields 1.8 Carga de imágenes desde la URL (Glide o Picasso) 1.9 Funciones de enlace de Java (importaciones) [19659007] 1. Conceptos básicos de DataBinding
1.1 Habilitación de DataBinding
Para comenzar con DataBinding, primero debe habilite esta función en su proyecto de Android. Abra build.gradle que se encuentra debajo de la aplicación y habilite dataBinding en módulo de Android . Una vez habilitado, Sincronice el proyecto y estará listo para comenzar.
android {
el enlace de datos {
habilitado = verdadero
}
compileSdkVersion 27
defaultConfig {
applicationId "info.androidhive.databinding"
minSdkVersion 16
// ..
}
}
1.2 Ejemplo básico
Suponga que queremos mostrar información de usuario de una clase de usuario POJO . Generalmente mostramos información en un TextView usando el método setText () . En lugar de llamar manualmente a setText para cada propiedad de usuario, DataBinding nos permite asociar valores automáticamente.
La clase POJO subyacente crea un objeto Usuario con nombre y correo electrónico.
Usuario de clase pública {
Nombre de cadena;
Cadena de correo electrónico;
public String getName () {
nombre de retorno;
}
public void setName (nombre de cadena) {
this.name = nombre;
}
public String getEmail () {
devolver correo electrónico;
}
public void setEmail (String email) {
this.email = correo electrónico;
}
}
Para habilitar DataBinding en un diseño, el elemento root debe comenzar con la etiqueta . Junto con él, se utilizan las etiquetas y .
La estructura del diseño de enlace de datos se muestra a continuación.
El diseño debe tener como elemento raíz. Dentro se insertará el código de diseño habitual.
Sigue una etiqueta en . Todas las variables y métodos de asociación deben ir dentro de la etiqueta .
Dentro de las etiquetas se declarará una variable usando la etiqueta . La etiqueta variable toma dos atributos `nombre` y ` tipo` . El atributo de nombre será el nombre de alias y el tipo debe ser de la clase de modelo de objeto. En nuestro caso, ruta a la clase Usuario .
Para asociar un valor, debe usar la anotación @ . En el siguiente diseño, el usuario nombre y correo electrónico están asociados con TextView usando @ {user.name} y @ {usuario .email} [19659029] Una vez que la asociación de datos está integrada en el archivo de diseño, vaya a Build -> Clean Project y Build -> Rebuild Project . Esto generará las clases de asociación necesarias.
Las clases de asociación generadas siguen la convención de nomenclatura considerando el nombre del archivo de diseño en el que está habilitada la asociación. Para el diseño activity_main.xml la clase de asociación generada será ActivityMainBinding (el sufijo de asociación se agregará al final).
Para asociar datos en la interfaz de usuario, primero debe inflar el diseño de asociación utilizando las clases de asociación generadas. A continuación, ActivityMainBinding infla primero el diseño y binding.setUser () enlaza el objeto Usuario al diseño.
Aquí puede observar que no hemos utilizado findViewById () en todas partes.
Navegar en este sitio implica la aceptación de nuestras políticas. Usamos cookies para optimizar la experiencia. AceptarMás
Gestionar consentimiento
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.