Nemmere Android-utvikling med RoboGuice
RoboGuice er et must-have rammeverk som bringer enkelhet og enkel avhengighetsinjeksjon til Android. Guice er en lett avhengighetsinjeksjonsramme for Java-plattformen. Dependensinjeksjon er et designmønster med kjernevirksomheten til skille adferd fra avhengighetsoppløsning.
Det tillater fjerning av “hardkodet” avhengigheter og gjør det mulig å endre dem på kompilere eller løpe tid. Dette gjør din kode lettere å skrive, endre, enhetstest og gjenbruk i andre sammenhenger. Koden din blir mindre av en boilerplate kode og mer forretningslogikk.
Med RoboGuice kan du ta med alt det til Android. RoboGuice lar deg bruk dine egne grunnklasser sammen med dine egne viktige metoder eller funksjoner. Dette gjør RoboGuice kompatibel med de fleste bibliotekene samt tillate deg å stripe nesten alle plattformspannplater via ulike injeksjoner som Vis injeksjoner, Ressursinjeksjoner, SystemService-injeksjoner, osv.
Enkelt sagt betyr bruk av RoboGuice i Android-prosjektet ditt skriver mindre kode, håndterer færre feil og har færre hodepine.
Slik installerer du RoboGuice
RoboGuice kan enkelt installeres i ditt Gradle-baserte prosjekt ved å legge til følgende linjer i ditt “avhengig” delen av appmodulets gradvise byggefil:
project.dependencies compile 'org.roboguice: roboguice: 3. +' gitt 'org.roboguice: roboblender: 3. +'
Hvordan bruke RoboGuice
RoboGuice er lett å bruke, hvis du følger disse grunnleggende reglene:
1. Utvid dine klasser fra de riktige RoboGuices basisklasser som RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity, etc.
2. Injiser visninger, ressurser eller tjenester bruker forskjellige annotasjoner levert av RoboGuice som “@InjectView“, “@InjectResource“, “@Inject“, etc.
Det er det. Enkelt, ikke sant? Du vil føle deg mer hjemme hvis du er kjent med Java-notater.
Ingen RoboGuice vs RoboGuice
La oss sammenligne hvordan RoboGuice kan redusere arbeidsbelastningen og forbedre produktiviteten ved å bruke dette lille eksemplet. Anta at vi har en “activity_main.xml” layoutfilen som har alle visningene som er oppført nedenfor.
Merk: Kommentarer legges til for å forbedre forståelsen av koden.
klasse NoRoboGuice utvider Aktivitet // views TextView navn; ImageView miniatyrbilde; // tjenester LocationManager loc; // ressurser Tegnbar ikon; String myName; Offentlig tomgang onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // angir layoutnavnet = (TextView) findViewById (R.id.name); // boilerplate initialisering thumbnail = (ImageView) findViewById (R.th.thumbnail); // boilerplate initialisering loc = (LocationManager) getSystemService (Activity.LOCATION_SERVICE); // boilerplate initialisering icon = getResources (). getDrawable (R.drawable.icon); // initialisering av boilerplate myName = getString (R.string.app_name); // boilerplate initialisering name.setText ("Hei," + myName); // faktisk kode
Slik ser det ut som RoboGuice:
@ContentView (R.layout.activity_main) // angir oppsettklassen RoboGuice utvider RoboActivity // views @InjectView (R.id.name) TextView navn; @InjectView (R.id.thumbnail) ImageView miniatyrbilde; // ressurser @InjectResource (R.drawable.icon) Drawable icon; @InjectResource (R.string.app_name) String myName; // tjenester @Inject LocationManager loc; Offentlig tomgang onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); name.setText ("Hei," + myName); // faktisk kode
RoboGuice reduserer ikke bare koden, men bidrar også til å forbedre lesbarheten og forståelsen av kildekoden. Det tar gjetning ut av app utvikling og Din søknadskode er ikke lenger fulle med mekanikken til Android-plattformen.
Denne fordelen bidrar sterkt på tidspunktet for feilsøking eller oppdatering programmet som du enkelt kan lese og endre kildekoden. Du trenger ikke lenger å søke etter den faktiske koden i mellom boilerplate-initialiseringskoden fordi nå bare den faktiske koden eksisterer og RoboGuice gjør oppstart av boilerplate automatisk for deg.