Mi primera experiencia con Butter Knife

Alex Mendoza Ventura
devStories
Published in
3 min readJul 7, 2016

En este post les contaré mi experiencia con Butter Knife: qué es, como se instala, el uso de anotaciones y como inyectar las vistas.

Antes de comenzar nos hacemos la pregunta:

¿Qué es Butter Knife?

Pues bien Butter Knife es una librería que nos facilita la tarea de relacionar los elementos de las vistas de código en nuestras aplicaciones Android. La cual nos evitará volver a utilizar findViewById, por lo tanto con esta potente librería nos ayudará a simplificar el código y nos ahorrará mucho tiempo a la hora de realizar nuestros proyectos.

¿Y cómo instalamos Butter Knife?

Para hacerlo tenemos que agregar la siguiente dependencia al archivo build.gradle(module) del proyecto:

compile 'com.jakewharton:butterknife:8.1.0'
apt 'com.jakewharton:butterknife-compiler:8.1.0'

Usa las Anotaciones

En cada activity o fragment, tienes que remover, o poner como comentario, cada llamada del método findViewById y agregar la anotación ‘@Bind’ antes de la declaración de la variable, indicando el identificador del view.

@BindView(R.id.title) TextView title;

Inyectar Views

En el método onCreate() del activity, antes de usar cualquiera de los views, llama a bind en el objeto Butterknife.

ButterKnife.inject(this)

Y en el caso que estés utilizando fragments, tienes que especificar la fuente de los views en el método onCreateView como se muestra en la parte inferior.

View view = inflater.inflate(R.layout.sample_fragment,null);
ButterKnife.inject(this,view);

Una vez hecho esto ya puedes comenzar a usar los views en el código de tu aplicación. Butter Knife manejará la instanciación de cada view por ti.

Esto es todo lo que necesitas hacer para poder usar la librería ButterKnife en un activity o fragment.

Uso General

Un ejemplo sencillo sería de la siguiente manera:

class MainActivity extends Activity {
@BindView(R.id.title) TextView title;
@BindView(R.id.button) Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
ButterKnife.bind(this);
title.setText(“Texto de ejemplo”);.
}
}

Y para agregar el evento click al botón se tendría que hacer lo siguiente :

@OnClick(R.id.button)
void buttonClick() {
//…
}

Conclusión

ButterKnife es una biblioteca muy útil al momento de desarrollar aplicaciones en Android. Te la recomiendo por que es muy sencilla de aprender y fácil de implementar, así que no dudes en probarla.

Para mas información puedes consultar la documentación de Butter Knife en el siguiente enlace: http://jakewharton.github.io/butterknife/

Puedes revisar otros posts:

Si te gustó el posts puedes recomendarlo:

--

--