Pagrindinis » Mobilus » Lengvesnis „Android“ kūrimas su „RoboGuice“

    Lengvesnis „Android“ kūrimas su „RoboGuice“

    RoboGuice yra privaloma sistema, kuri atneša paprastumas ir priklausomybės injekcijos paprastumas „Android“. Guice yra lengva priklausomybės injekcijos sistema „Java“ platformai. Priklausomybės įpurškimas - tai dizaino modelis, kurio pagrindinis principas yra elgesio atskyrimas nuo priklausomybės sprendimo.

    Tai leidžia pašalinti “koduotas” priklausomybes ir leidžia jas keisti kompiliuojant arba vykdant laiką. Tai daro jūsų kodą lengviau rašyti, keisti, atlikti vieneto testą ir pakartotinis naudojimas kitose situacijose. Jūsų kodas tampa mažiau kodinio kodo ir daugiau verslo logikos.

    Su „RoboGuice“ galite viską pareikšti „Android“. RoboGuice leidžia jums naudoti savo bazines klases kartu su savo esminiais metodais ar funkcijomis. Tai daro RoboGuice suderinama su dauguma bibliotekų taip pat leidžiama juosta beveik visos platformos per įvairias injekcijas, pvz., Peržiūrėti injekcijas, Išteklių injekcijos, Sistemos paslaugų injekcijos ir kt.

    Paprastai, naudojant „RoboGuice“ savo „Android“ projekte rašyti mažiau kodo, tvarkyti mažiau klaidų ir turėti mažiau galvos skausmų.

    Kaip įdiegti „RoboGuice“

    „RoboGuice“ galima lengvai įdiegti į savo „Gradle“ projektą, pridedant šias eilutes prie jūsų “priklausomybės” programos modulio „sluoksniuotojo kūrimo“ failo dalis:

     project.dependencies compile 'org.roboguice: roboguice: 3. +' pateikta 'org.roboguice: roboblender: 3. +'

    Kaip naudoti RoboGuice

    RoboGuice yra paprasta naudoti, jei laikotės šių pagrindinių taisyklių:

    1. Išplėskite savo klases iš tinkamų RoboGuice bazinių klasių, tokių kaip RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity ir kt..

    2. Įdėkite vaizdus, ​​išteklius ar paslaugas naudojant įvairias RoboGuice pateiktas anotacijas, pvz “@InjectView“, “@InjectResource“, “@Inject“, ir kt.

    Viskas. Paprasta, ar ne? Jus pajusite daugiau, jei esate susipažinę Java Anotacijos.

    Nėra RoboGuice prieš RoboGuice

    Palyginkime, kaip RoboGuice gali sumažinti jūsų darbo krūvį ir padidinti našumą naudodamas šį nedidelį pavyzdį. Tarkime, mes turime “activity_main.xml” išdėstymo failą, turintį visus toliau išvardytus vaizdus.

    Pastaba: Pastabos pateikiamos siekiant pagerinti kodo supratimą.

     klasė NoRoboGuice pratęsia veiklą // peržiūros TextView pavadinimą; „ImageView“ miniatiūra; // paslaugos LocationManager loc; // ištekliai Naudojama piktograma; String myName; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // nustato išdėstymo pavadinimą = (TextView) findViewById (R.id.name); // boilerplate inicializavimas miniatiūra = (ImageView) findViewById (R.id.thumbnail); // boilerplate inicializavimas loc = (LocationManager) getSystemService (Activity.LOCATION_SERVICE); // boilerplate inicializavimo piktograma = getResources () getDrawable (R.drawable.icon); // boilerplate inicializavimas myName = getString (R.string.app_name); // boilerplate inicializavimas name.setText („Sveiki,“ + „MyName“); // tikrasis kodas 

    Štai kaip atrodo su „RoboGuice“:

    @ContentView (R.layout.activity_main) // nustato išdėstymo klasę RoboGuice išplečia RoboActivity // peržiūros @InjectView (R.id.name) TextView pavadinimą; @InjectView (R.id.thumbnail) „ImageView“ miniatiūra; // ištekliai @InjectResource (R.drawable.icon) Lygiosios piktogramos; @InjectResource (R.string.app_name) Straipsnis myName; // services @Inject LocationManager loc; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); name.setText („Sveiki,“ + „MyName“); // tikrasis kodas 

    „RoboGuice“ ne tik sumažina kodą, bet ir padeda pagerinti šaltinio kodo įskaitomumą ir suprantamumą. Tai užima spėliones iš programų kūrimo ir jūsų paraiškos kodas nebenaudojamas su „Android“ platformos mechanika.

    Šis privalumas labai padeda derinimo metu arba atnaujinimas galite lengvai perskaityti ir keisti šaltinio kodą. Jums nereikia ieškoti faktinio kodo tarp pradinio kodo iniciacijos kodo, nes dabar yra tik faktinis kodas ir „RoboGuice“ automatiškai inicijuoja jūsų inicijavimą.