Domovská » mobilní, pohybliví » Snadnější vývoj Android s RoboGuice

    Snadnější vývoj Android s RoboGuice

    RoboGuice je nezbytný rámec, který přináší jednoduchost a snadnost vstřikování závislostí na Android. Guice je lehký závislost injekční rámec pro platformu Java. Injekční závislost je návrhový vzor se základním principem oddělování chování od rozlišení závislosti.

    Umožňuje odstranění “pevně” a umožňuje jejich změnu v kompilaci nebo době běhu. To je vaše kód jednodušší psát, změna, test jednotky a opakované použití v jiných kontextech. Váš kód se stává méně kódem kotlové tabulky a více obchodní logiky.

    S RoboGuice, můžete přivést vše, co na Android. RoboGuice vám umožní používat vlastní základní třídy spolu s vlastními základními metodami nebo funkcemi. To dělá RoboGuice kompatibilní s většinou knihoven stejně jako vám umožní odizolovat téměř všechny platformy kotle prostřednictvím různých injekcí, jako jsou injekce View, injekce zdrojů, injekce SystemService atd.

    Zjednodušeně řečeno, pomocí RoboGuice ve vašem Android projektu znamená psaní méně kódu, zpracování méně chyb a méně bolestí hlavy.

    Jak nainstalovat RoboGuice

    RoboGuice lze snadno nainstalovat do vašeho projektu založeného na programu Gradle přidáním následujících řádků do vašeho programu “závislostí” sekce souboru sestavení gradle modulu aplikace:

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

    Jak používat RoboGuice

    RoboGuice se snadno používá, pokud budete postupovat podle těchto základních pravidel:

    1. Rozšiřte své třídy z odpovídajících základních tříd RoboGuice jako RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity atd..

    2. Vkládání pohledů, zdrojů nebo služeb pomocí různých anotací, které poskytuje RoboGuice jako “@InjectView“, “@InjectResource“, “@Inject“, atd.

    A je to. Jednoduché, že? Budete-li znát, budete se cítit více doma Anotace jazyka Java.

    Žádné RoboGuice vs. RoboGuice

    Porovnejme, jak může RoboGuice zmírnit vaši pracovní zátěž a zlepšit vaši produktivitu pomocí tohoto malého příkladu. Předpokládejme, že máme “activity_main.xml” rozložení souboru, který má všechny níže uvedené pohledy.

    Poznámka: Komentáře jsou přidány pro zlepšení srozumitelnosti kódu.

     třída NoRoboGuice rozšiřuje Activity // view TextView; ImageView náhled; // services LocationManager loc; // resources Ikona pro kreslení; String myName; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // nastaví název rozložení = (TextView) findViewById (R.id.name); // inicializace varné desky thumbnail = (ImageView) findViewById (R.id.thumbnail); // inicializace varné desky loc = (LocationManager) getSystemService (Activity.LOCATION_SERVICE); // ikona inicializace varné desky = getResources (). getDrawable (R.drawable.icon); // inicializace varné desky myName = getString (R.string.app_name); // initplate inicializace name.setText ("Hello," + myName); // skutečný kód 

    Jak to vypadá s RoboGuice:

    @ContentView (R.layout.activity_main) // nastavuje třídu rozvržení RoboGuice rozšiřuje RoboActivity // views @InjectView (R.id.name) Název TextView; @InjectView (R.id.thumbnail) ImageView náhled; // resources @InjectResource (R.drawable.icon) Ikona pro kreslení; @InjectResource (R.string.app_name) Řetězec myName; // services @Inject LocationManager loc; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); name.setText ("Hello," + myName); // skutečný kód 

    RoboGuice nejenže redukuje kód, ale také pomáhá zlepšit čitelnost a srozumitelnost zdrojového kódu. Trvá dohady z vývoje aplikací a kód aplikace již není vnořen s mechanikou platformy Android.

    Tato výhoda velmi pomáhá v době ladění nebo aktualizace můžete snadno číst a měnit zdrojový kód. Skutečný kód již nemusíte hledat mezi inicializačním kódem varné desky, protože nyní existuje pouze skutečný kód a RoboGuice automaticky provede inicializaci varné desky.