Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Suggerimento rapido: Usare Butter Knife per immettere viste in Android

by
Difficulty:BeginnerLength:ShortLanguages:

Italian (Italiano) translation by Francesco Turlon (you can also view the original English article)

In questo suggerimento rapido imparerete come integrare la libreria Butter Knife nei vostri progetti per creare facilmente un'istanza delle viste nel layout della vostra applicazione.

Introduzione

In ogni applicazione Android dovrete utilizzare il metodo findViewById() per ogni vista del layout che volete utilizzare nel codice della vostra applicazione. Quando il design delle applicazioni diviene più complesso, la chiamata a questo metodo risulta ripetitiva, e qui è dove entra in gioco la libreria Butter Knife.

La libreria Butter Knife, sviluppata e mantenuta da Jake Wharton (Square Inc.), possiede annotazioni che aiutano gli sviluppatori a creare un'istanza delle viste dall'activity o dal fragment. Possiede anche annotazioni per gestire eventi come onClick(), onLongClick(), etc.

Nel progetto di prova di questo tutorial potrete vedere un'applicazione con un'activity e un fragment, usando un'implementazione della libreria Butter Knife e un'altra standard. Esploriamo i passaggi necessari per integrare la libreria Butter Knife.

1. Utilizzare la libreria Butter Knife

Step 1: Aggiungere la Dipendenza

Aggiungere la seguente dipendenza al file build.gradle del progetto:

Successivamente, sincronizzate il vostro progetto con questo file premendo il pulsante sincronizzare.

Press the button to sync the project with the grade files

Step 2: Utilizzare le Annotazioni

In ogni activity o fragment dovrete rimuovere, o commentare, ogni chiamata del metodo findViewById() e aggiungere l'annotazione @InjectView prima della dichiarazione della variabile indicante l'identificatore della vista.

Step 3: Immettere Viste

Nel metodo onCreate() dell'activity, prima di utilizzare qualsiasi vista, chiamate inject sull'oggetto ButterKnife.

Se state utilizzando fragments dovrete specificare la sorgente delle viste nel metodo onCreateView(), come mostrato qui sotto.

Potrete ora utilizzare le viste nel codice della vostra applicazione. Butter Knife gestirà la creazione di istanze di ogni singola vista per voi.

Questo è tutto ciò che dovrete fare per utilizzare la libreria Butter Knife in un'activity o fragment. Nella prossima sezione vi mostrerò come usare la libreria Butter Knife per utilizzare list views.

2. Utilizzare la libreria Butter Knife con le List Views

La classe ListView è un caso speciale da implementare perché creerete istanze di viste all'interno di un adapter. Per integrare la libreria Butter Knife in una list view dovrete prima creare il layout personalizzato per gli oggetti nella list view. Intitolerò la mia list_view_item e aggiungerò il seguente layout:

In questo semplice layout mostreremo un'immagine e del testo. Poi avremo bisogno di creare l'adapter per la list view. Nominiamolo ListViewAdapter.

Dentro la classe adapter c'è una classe statica chiamata ViewHolder da tenere in ordine. Utilizzeremo questa classe per contenere le viste. Implementiamo la classe ViewHolder come segue:

Tutto ciò che dovremo fare sarà modificare il metodo getView() nel modo seguente:

In questo metodo sto inserendo il layout personalizzato dentro la variabile view, utilizzando quest'ultima per creare un oggetto della classe ViewHolder. Notate che stiamo utilizzando la classe Picasso per caricare immagini da remoto e riempire il campo con del testo. Potreste trovare utile il tutorial Picasso se vorrete avere più familiarità con questa libreria.

Non dimenticate di aggiungere il permesso android.permission.Internet nel manifesto Android. Se non lo fate Picasso non sarà in grado di connettersi al web e caricare le immagini da remoto.

Infine, tutto quello che dovrete fare sarà creare un'istanza di list view e collegare l'adapter. Farò questo dentro una nuova activity, ListViewActivity, come mostrato qui sotto. Potrete vedere un esempio di questa implementazione nei file sorgente di questo tutorial.

3. Eventi

Potrete utilizzare le annotazioni di Butter Knife anche per gli eventi. Scegliete l'annotazione che volete utilizzare, a seconda dell'evento cui volete rispondere, e inseritela prima del metodo che volete eseguire quando si presenta l'evento.

Conclusione

Potrete utilizzare il metodo inject() di Butter Knife ovunque usereste altrimenti il metodo findViewById() per risparmiare tempo ed evitare di ripetere codice quando dovete creare un'istanza delle viste nel layout. Sentitevi liberi di condividere questo suggerimento rapido se l'avete trovato utile.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.