Sviluppo Android più facile con RoboGuice
RoboGuice è un framework indispensabile che porta il semplicità e facilità di iniezione di dipendenza ad Android. Guice è un framework di iniezione di dipendenza leggera per la piattaforma Java. L'iniezione di dipendenza è un modello di progettazione con il nucleo principale di separare il comportamento dalla risoluzione delle dipendenze.
Permette la rimozione di “hard-coded” dipendenze e rende possibile modificarle in fase di compilazione o di esecuzione. Questo rende il tuo codice più facile da scrivere, modificare, unit test e riutilizzo in altri contesti. Il codice diventa meno di un codice standard e di una maggiore logica aziendale.
Con RoboGuice puoi portare tutto ciò su Android. RoboGuice ti permette di usa le tue classi base insieme ai tuoi metodi o funzionalità essenziali. Questo rende RoboGuice compatibile con la maggior parte delle librerie così come ti permettono di spogliarti quasi tutte le piastre della piattaforma tramite varie iniezioni come Iniezioni vista, Iniezioni di risorse, Iniezioni di SystemService, ecc.
In parole povere, usare RoboGuice nel tuo progetto Android significa scrivere meno codice, gestire meno errori e avere meno mal di testa.
Come installare RoboGuice
RoboGuice può essere facilmente installato nel tuo progetto basato su Gradle aggiungendo le seguenti linee al tuo “dipendenze” sezione del file di build gradle del modulo dell'app:
project.dependencies compile 'org.roboguice: roboguice: 3. +' fornito 'org.roboguice: roboblender: 3. +'
Come usare RoboGuice
RoboGuice è facile da usare, se segui queste regole di base:
1. Estendi le tue lezioni dalle appropriate classi di base di RoboGuice come RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity, ecc..
2. Iniettare viste, risorse o servizi utilizzando diverse annotazioni fornite da RoboGuice come “@InjectView“, “@InjectResource“, “@Iniettare“, eccetera.
Questo è tutto. Semplice, non è vero? Ti sentirai più a tuo agio se ti è familiare Annotazioni Java.
No RoboGuice vs. RoboGuice
Confrontiamo come RoboGuice può minimizzare il carico di lavoro e migliorare la produttività utilizzando questo piccolo esempio. Supponiamo di avere un “activity_main.xml” file di layout con tutte le viste elencate di seguito.
Nota: I commenti vengono aggiunti per migliorare la comprensibilità del codice.
la classe NoRoboGuice estende Activity // visualizza il nome TextView; Miniatura ImageView; // servizi LocationManager loc; // risorse Icona disegnabile; String myName; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // imposta il nome del layout = (TextView) findViewById (R.id.name); // boilerplate initialization thumbnail = (ImageView) findViewById (R.id.thumbnail); // boilerplate initialization loc = (LocationManager) getSystemService (Activity.LOCATION_SERVICE); // boilerplate initialization icon = getResources (). getDrawable (R.drawable.icon); // inizializzazione boilerplate myName = getString (R.string.app_name); // inizializzazione boilerplate name.setText ("Hello," + myName); // codice effettivo
Ecco come appare con RoboGuice:
@ContentView (R.layout.activity_main) // imposta la classe di layout RoboGuice estende RoboActivity // views @InjectView (R.id.name) Nome TextView; @InjectView (R.id.thumbnail) Anteprima ImageView; // resources @InjectResource (R.drawable.icon) Icona disegnabile; @InjectResource (R.string.app_name) String myName; // services @Inject LocationManager loc; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); name.setText ("Hello," + myName); // codice effettivo
RoboGuice non solo riduce il codice, ma aiuta anche a migliorare la leggibilità e la comprensibilità del codice sorgente. Elimina le congetture dallo sviluppo delle app e il tuo codice applicazione non è più disseminato con i meccanismi della piattaforma Android.
Questo vantaggio aiuta molto al momento del debug o in aggiornamento l'applicazione in quanto è possibile leggere e modificare facilmente il codice sorgente. Non è più necessario cercare il codice effettivo tra il codice di inizializzazione boilerplate perché ora esiste solo il codice attuale e RoboGuice fa automaticamente l'inizializzazione del boilerplate per te.