Eenvoudigere Android-ontwikkeling met Roboguice
RoboGuice is een framework dat je moet hebben en dat het eenvoud en gemak van injectie van afhankelijkheid naar Android. Guice is een lichtgewicht afhankelijkheidsinjectieframework voor het Java-platform. Dependency injection is een ontwerppatroon met als kerntaak scheidingsgedrag en afhankelijkheidsresolutie.
Hiermee kunt u verwijderen “hard-coded” afhankelijkheden en maakt het mogelijk om ze te wijzigen tijdens compileren of runtime. Dit maakt jouw code gemakkelijker om te schrijven, wijzigen, eenheidstest en hergebruik in andere contexten. Uw code wordt minder een boilerplate code en meer van bedrijfslogica.
Met RoboGuice kunt u alles naar Android brengen. Met Roboguice kunt u dit doen gebruik uw eigen basisklassen samen met je eigen essentiële methoden of functionaliteiten. Dit maakt RoboGuice compatibel met de meeste bibliotheken zo goed als je kunt strippen bijna alle platformketelplaten via verschillende injecties zoals View-injecties, Middeleninjecties, SystemService-injecties, enz.
In eenvoudige bewoordingen betekent het gebruik van RoboGuice in uw Android-project minder code schrijven, minder fouten verwerken en minder hoofdpijn hebben.
Hoe RoboGuice te installeren
RoboGuice kan eenvoudig worden geïnstalleerd in uw op Gradle gebaseerde project door de volgende regels toe te voegen aan uw “afhankelijkheden” deel van het bestand dat je hebt opgebouwd in de app-module:
project.dependencies compile 'org.roboguice: roboguice: 3. +' provided 'org.roboguice: roboblender: 3. +'
Hoe RoboGuice te gebruiken
RoboGuice is gemakkelijk te gebruiken, als u deze basisregels volgt:
1. Breid je lessen uit van de juiste basisklassen van RoboGuice zoals RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity, enz..
2. Spuit views, resources of services in gebruikmakende van verschillende annotaties geleverd door RoboGuice zoals “@InjectView“, “@InjectResource“, “@Injecteren“, enz.
Dat is het. Simpel, toch? Je zult je meer thuis voelen als je bekend bent met Java-aantekeningen.
Geen RoboGuice vs. RoboGuice
Laten we vergelijken hoe RoboGuice uw werklast verkleint en uw productiviteit verbetert door dit kleine voorbeeld te gebruiken. Stel dat we een hebben “activity_main.xml” lay-outbestand met alle onderstaande weergaven.
Notitie: Opmerkingen worden toegevoegd om de begrijpelijkheid van de code te verbeteren.
klasse NoRoboGuice breidt Activiteit uit // weergaven TextView-naam; ImageView-miniatuur; // services LocationManager loc; // resources Tekenbaar pictogram; String myName; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // stelt de layoutnaam in = (TextView) findViewById (R.id.name); // boilerplate initialization thumbnail = (ImageView) findViewById (R.id.thumbnail); // boilerplate initialisatie loc = (LocationManager) getSystemService (Activity.LOCATION_SERVICE); // boilerplate initialisatie icon = getResources (). getDrawable (R.drawable.icon); // boilerplate-initialisatie myName = getString (R.string.app_name); // boilerplate initialization name.setText ("Hello," + myName); // werkelijke code
Zo ziet het eruit met RoboGuice:
@ContentView (R.layout.activity_main) // stelt de lay-outklasse in RoboGuice breidt RoboActivity uit // views @InjectView (R.id.name) TextView-naam; @InjectView (R.id.thumbnail) ImageView-miniatuur; // resources @InjectResource (R.drawable.icon) Drawable-pictogram; @InjectResource (R.string.app_name) String myName; // services @Inject LocationManager loc; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); name.setText ("Hallo", + mijnNaam); // werkelijke code
RoboGuice vermindert niet alleen de code, maar helpt ook om de leesbaarheid en begrijpelijkheid van de broncode te verbeteren. Het neemt het giswerk weg uit app-ontwikkeling en uw applicatiecode is niet langer bezaaid met de mechanica van het Android-platform.
Dit voordeel helpt enorm op het moment van debugging of updating de toepassing, aangezien u de broncode gemakkelijk kunt lezen en wijzigen. U hoeft niet langer te zoeken naar de daadwerkelijke code tussen de initialisatiecode van de boilerplate omdat nu alleen de feitelijke code bestaat en RoboGuice voert de boilerplate-initialisatie automatisch voor u uit.