Librerías Android

Cómo utilizar la librería Butter Knife en Android

En este artículo vas a aprender cómo instalar y utilizar la librería Butter Knife en Android.

More...

Butter Knife en Android, una librería fundamental

Quizá te preguntes por qué es fundamental. La respuesta es porque te va a facilitar el trabajo en tu aplicación, sea cual sea. Es fundamental porque la decisión de optar por ella no es una cuestión estética, sino pragmática. Librerías fundamentales hay muchas (ya has visto en el artículo anterior la de miles de librerías de Android, de todo tipo, que existen), pero empiezo con Butter Knife porque es una de las aplicaciones más conocidas del entorno Android.

Butter Knife: dónde encontrarla

Sitio web: http://jakewharton.github.io/butterknife/

Butter Knife te ayuda a conectar los elementos de la interfaz de usuario con el código Java. La manera predeterminada de hacerlo es la siguiente:

Ejemplo en un Fragment

Dos lineas que, si tienes muchos elementos en la interfaz, se pueden convertir con facilidad en 20, 30 o 40 líneas... y eso es mucho teclear.

Instala el plugin en Android Studio

Con Butter Knife puedes inyectar todos los elementos en un clic (¡lo cual te ahorra bastante tiempo si, en lugar de un elemento, tienes 20 en tu interfaz de usuario!). Para ello, primero has de instalar el plugin ButterKnifeZelezny en Android Studio. Para ello, haz clic en File > Settings > Plugins > Browse Repositories...

Una vez tengas la ventana abierta, busca ButterKnife. Como verás, el plugin necesario es el más descargado y valorado:

Pulsa Install y, cuando termine la instalación, reinicia Android Studio.

Instala Butter Knife con Gradle

Esto quiere decir que tienes que abrir build.gradle (Module: app) y pegar las dos siguientes líneas dentro de dependencies:

implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

Acto seguido, sincroniza Gradle y comienza a crear tu interfaz de usuario. Asegúrate de que todos los elementos que quieres conectar con el código Java tienen un campo id. En mi ejemplo, voy a utilizar una interfaz sencilla, con un RecyclerView:

Cómo utilizar Butter Knife

Una vez hayas terminado, abre la clase Java en la que vas a inyectar los elementos. Coloca el puntero en el layout que estás utilizando, y pulsa Alt + Insert (o Ctrl + Mayúscula + B):

En una Activity

En un Fragment

Al hacer click en Generate Butterknife Injections, te aparecerá una ventana con todos los elementos que ha encontrado en el layout en el que has pinchado. Pulsa Confirm, ¡y listo!

Y este es el resultado:

No necesitas sobreescribir el método onDestroyView; si no existe, Butter Knife lo hará por ti.

De ser necesario (sobre todo si en lugar de un RecyclerView estás inyectando un botón), puedes marcar también el campo onClick y te generará el método que se ejecutará al pulsar el botón. Así, el método onCreate queda más descargado.

¿Has visto qué fácil? Ya sabes utilizar Butter Knife en Android, una gran librería que te ahorrará mucho tiempo en tu desarrollo Android. ¡Cuéntame en los comentarios que opinas de Butter Knife (o qué vas a hacer con todo el tiempo libre que te ahorra)!

Miguel Callejón Berenguer

Share
Published by
Miguel Callejón Berenguer

Recent Posts

ZonedDateTime e Instant en Java 8

¿Qué son ZonedDateTime e Instant en Java 8? Esta materia entra en el examen de…

6 años ago

Internacionalización y localización en Java

¿Sabes cómo funciona la internacionalización y localización en Java? O, antes de continuar, ¿sabes qué son…

6 años ago

Cómo exportar un proyecto JavaFX en IntelliJ

¿No sabes cómo exportar tu proyecto JavaFX en IntelliJ, y te gustaría aprender? Yo también…

6 años ago

Cómo utilizar instanceof en Java 8

¿Sabes cómo utilizar instanceof en Java 8? Con esta entrada comienzo una larga serie que…

7 años ago

Curso gratuito de IntelliJ Community Edition ¡en español!

¡ACTUALIZADO A LA VERSIÓN 2019.2.4! ¿Quieres un curso gratuito de Intellij, en español?  Directo al…

7 años ago

Cómo diseñar una interfaz para Android

Sé lo que estás pensando. Tienes una buena idea para una app, tienes claro la…

7 años ago