Mai ușor de dezvoltare Android cu RoboGuice
RoboGuice este un cadru care trebuie să aibă și care aduce simplitatea și ușurința injecției de dependență la Android. Guice este un cadru de injecție ușor de dependență pentru platforma Java. Injecția de dependență este un model de proiectare cu principalul nucleu din separarea comportamentului de rezolvarea dependenței.
Aceasta permite îndepărtarea “codat dificil” dependente și face posibilă modificarea lor la compilare sau la rularea timpului. Asta te face cod mai ușor de scris, schimbare, test unitate și reutilizarea în alte contexte. Codul dvs. devine mai puțin un cod de boilerplate și mai mult de logică de afaceri.
Cu RoboGuice, puteți aduce toate acestea la Android. RoboGuice vă permite să utilizați propriile clase de bază împreună cu propriile metode sau funcții esențiale. Acest lucru face RoboGuice compatibil cu majoritatea bibliotecilor precum și pentru a vă permite să frigeți aproape toate cazanele platformei prin injecții diferite, cum ar fi injecțiile de tip View, injecțiile de resurse, injecțiile de sistem SystemService etc..
În termeni simpli, utilizarea RoboGuice în proiectul dvs. Android înseamnă scriind mai puțin cod, manipulând mai puține erori și având mai puține dureri de cap.
Cum se instalează RoboGuice
RoboGuice poate fi instalat cu ușurință în proiectul dvs. bazat pe Gradle, adăugând următoarele linii la dvs. “dependențe” secțiunea din fișierul de construire al graulei din aplicația dvs.:
project.dependencies compile 'org.roboguice: roboguice: 3. +' cu condiția 'org.roboguice: roboblender: 3. +'
Cum se utilizează RoboGuice
RoboGuice este ușor de folosit, dacă respectați aceste reguli de bază:
1. Extinde-ți clasele din clasele de bază ale RoboGuice, cum ar fi RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity, etc.
2. Injectați opinii, resurse sau servicii utilizând diferite adnotări furnizate de RoboGuice, cum ar fi “@InjectView“, “@InjectResource“, “@Injecta“, etc.
Asta e. Simplu, nu-i așa? Veți simți mai mult acasă dacă sunteți familiarizați cu Adnotări Java.
Nu RoboGuice vs. RoboGuice
Să comparăm modul în care RoboGuice vă poate minimiza volumul de muncă și vă poate îmbunătăți productivitatea utilizând acest exemplu mic. Să presupunem că avem unul “activity_main.xml” cu toate vizualizările de mai jos.
Notă: Comentariile sunt adăugate pentru a îmbunătăți înțelegerea codului.
clasa NoRoboGuice prelungește activitatea // vizualizează numele textului; ImageView thumbnail; // servicii LocationManager loc; // resurse icoane trasabile; String myName; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // stabilește numele layout = (TextView) findViewById (R.id.name); // boilerplate de inițializare thumbnail = (ImageView) findViewById (R.id.thumbnail); // boilerplate inițializare loc = (LocationManager) getSystemService (Activity.LOCATION_SERVICE); / / boilerplate initialization icon = getResources (). getDrawable (R.drawable.icon); // inițiază boilerplate myName = getString (R.string.app_name); // boilerplate nume de inițializare.setText ("Hello," + myName); // cod actual
Iată cum arată cu RoboGuice:
@ContentView (R.layout.activity_main) // stabilește clasa de aspect RoboGuice extinde RoboActivity // views @InjectView (R.id.name) TextView nume; @InjectView (R.id.thumbnail) ImageView thumbnail; // resources @InjectResource (R.drawable.icon) Pictogramă trasabilă; @InjectResource (R.string.app_name) String myName; // services @ Inject LocationManager loc; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); name.setText ("Bună ziua", + numele meu); // cod actual
RoboGuice nu numai că reduce codul, ci ajută la îmbunătățirea lizibilității și înțelegerii codului sursă. Este nevoie de ghicitul din dezvoltarea de aplicatii si codul dvs. de aplicație nu mai este îngrădit cu mecanica platformei Android.
Acest avantaj ajută foarte mult la momentul depanării sau actualizarea aplicația, deoarece puteți citi și schimba cu ușurință codul sursă. Nu mai trebuie să căutați codul propriu-zis între codul de inițiere pentru boilerplate deoarece acum doar codul real există și RoboGuice face inițierea automată a boilerplate pentru dvs..