Eenvoudigere Android-ontwikkeling met Roboguice
RoboGuice is een onmisbaar raamwerk dat de eenvoud en eenvoud van afhankelijkheidsinjectie naar Android brengt. Guice is een lichtgewicht afhankelijkheidsinjectieframework voor het Java-platform. Afhankelijkheidsinjectie is een ontwerppatroon met het kernprincipe van scheidingsgedrag en afhankelijkheidsresolutie .
Het zorgt voor de verwijdering van "hard-coded" afhankelijkheden en maakt het mogelijk om ze te veranderen tijdens compileren of runtime. Dit maakt uw code gemakkelijker te schrijven, wijzigen, unit test 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 uw eigen basisklassen gebruiken, samen met uw eigen essentiële methoden of functionaliteiten. Dit maakt RoboGuice compatibel met de meeste bibliotheken en stelt u in staat om bijna alle platformketelplaten te strippen 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" -sectie van het graduele buildbestand van uw 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 uw klassen uit van de juiste basisklassen van RoboGuice zoals RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity, etc.
2. Injecteer weergaven, resources of services met verschillende annotaties van RoboGuice zoals " @InjectView ", "@InjectResource ", "@Inject ", etc.
Dat is het. Eenvoudig, toch? U zult zich meer thuis voelen als u bekend bent met Java-annotaties .
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 lay-outbestand "activity_main.xml" hebben met alle onderstaande weergaven.
Opmerking: opmerkingen worden toegevoegd om de begrijpelijkheid van de code te verbeteren.
klasse NoRoboGuice breidt Activiteit {// 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 layoutklasse 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 de leesbaarheid en begrijpelijkheid van de broncode te verbeteren. Het neemt het giswerk weg uit app-ontwikkeling en uw toepassingscode is niet langer bezaaid met de mechanica van het Android-platform.
Dit voordeel helpt enorm bij het debuggen of bijwerken van de toepassing, omdat 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 eigenlijke code bestaat en RoboGuice de boilerplate-initialisatie automatisch voor u uitvoert.
Hoe het allemaal begon - 40 klassieke foto's van technische bedrijven die u moet zien
Veel van de reuzen die de manier dicteren die tegenwoordig op grote schaal wordt gespeeld, hadden bescheiden starts tijdens hun begindagen. Sommigen schreven het succes van de bedrijven of hun oprichters toe aan een grote vooruitziende blik, kennen de 'juiste' mensen en zijn in veel gevallen op het juiste moment op de juiste plaats (alias gewoon geluk, denk ik)
Een kijkje in: CSS4-documentregel
Veel websites hebben veel pagina's, maar al die pagina's zijn meestal opgemaakt met slechts één stylesheet. Het serveren van slechts één stylesheet is een goede gewoonte om HTTP-verzoeken te minimaliseren, waardoor de pagina's sneller in een browser kunnen worden geladen.Er zijn echter een aantal stijlregels in het stylesheet die voor sommige pagina's niet nodig zijn. Zo