Łatwiejszy rozwój Androida dzięki RoboGuice
RoboGuice to obowiązkowa struktura, która przynosi prostota i łatwość wstrzykiwania zależności na Androida. Guice to lekka struktura wtrysku zależności dla platformy Java. Wtrysk zależności jest wzorcem z główną zasadą oddzielenie zachowania od rozdzielczości zależności.
Pozwala na usunięcie “mocno zakodowane” zależności i umożliwia ich zmianę w czasie kompilacji lub uruchamiania. To czyni twoją kod łatwiejszy do napisania, zmiany, test jednostkowy i ponowne wykorzystanie w innych kontekstach. Twój kod staje się mniej podstawowym kodem i bardziej logiką biznesową.
Z RoboGuice możesz przenieść to wszystko na Androida. RoboGuice pozwala na to użyj własnych klas bazowych wraz z własnymi podstawowymi metodami lub funkcjami. To sprawia, że RoboGuice kompatybilny z większością bibliotek a także pozwolić ci się rozebrać prawie wszystkie płyty kotłów platformowych poprzez różne zastrzyki, takie jak wstrzyknięcia View, zastrzyki z zasobów, zastrzyki z SystemService, itp.
Mówiąc prosto, użycie RoboGuice w twoim projekcie na Androida oznacza pisanie mniejszej ilości kodu, obsługa mniejszej liczby błędów i mniej bólu głowy.
Jak zainstalować RoboGuice
RoboGuice można łatwo zainstalować w projekcie opartym na Gradle, dodając następujące linie do swojego “zależności” sekcja pliku kompilacji gradle modułu aplikacji:
project.dependencies compile 'org.roboguice: roboguice: 3. +' provided 'org.roboguice: roboblender: 3. +'
Jak korzystać z RoboGuice
RoboGuice jest łatwy w użyciu, jeśli przestrzegasz następujących podstawowych zasad:
1. Rozszerz swoje klasy z odpowiednich klas bazowych RoboGuice, takich jak RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity itp..
2. Wstaw widoki, zasoby lub usługi używając różnych adnotacji dostarczonych przez RoboGuice, takich jak “@InjectView“, “@InjectResource“, “@Wstrzykiwać“, itp.
to jest to! Proste, prawda? Będziesz czuł się bardziej w domu, jeśli znasz Adnotacje Java.
Brak RoboGuice vs. RoboGuice
Porównajmy, w jaki sposób RoboGuice może zminimalizować obciążenie pracą i poprawić wydajność dzięki temu małemu przykładowi. Załóżmy, że mamy “activity_main.xml” plik układu zawierający wszystkie widoki wymienione poniżej.
Uwaga: Dodano komentarze, aby poprawić zrozumiałość kodu.
class NoRoboGuice extends Activity // views Nazwa TextView; Miniaturka ImageView; // services LocationManager loc; // zasoby Ikona do rysowania; String myName; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // ustawia nazwę układu = (TextView) findViewById (R.id.name); // miniaturka inicjalizacyjna kotła = (ImageView) findViewById (R.id.thumbnail); // instrukcja inicjowania loc = (LocationManager) getSystemService (Activity.LOCATION_SERVICE); // ikona inicjalizacji tablicy = getResources (). getDrawable (R.drawable.icon); // początkowa inicjalizacja myName = getString (R.string.app_name); // nazwa inicjalizacyjna kotła.setText („Hello”, + myName); // aktualny kod
Oto jak to wygląda w RoboGuice:
@ContentView (R.layout.activity_main) // ustawia klasę układu RoboGuice extends RoboActivity // views @InjectView (R.id.name) Nazwa TextView; @InjectView (R.id.thumbnail) Miniatura ImageView; // resources @InjectResource (R.drawable.icon) Ikona do rysowania; @InjectResource (R.string.app_name) String myName; // services @ Inject LocationManager loc; public void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); name.setText („Hello”, + myName); // aktualny kod
RoboGuice nie tylko zmniejsza kod, ale także poprawia czytelność i zrozumiałość kodu źródłowego. To eliminuje zgadywanie z tworzenia aplikacji i Twój kod aplikacji nie jest już zaśmiecony z mechaniką platformy Android.
Ta przewaga bardzo pomaga w czasie debugowania lub aktualizacja aplikacja, ponieważ możesz łatwo odczytać i zmienić kod źródłowy. Nie musisz już szukać rzeczywistego kodu między kodem inicjującym szablon, ponieważ teraz istnieje tylko rzeczywisty kod a RoboGuice automatycznie wykona dla ciebie podstawową inicjalizację.