Упрощенная разработка Android с RoboGuice
RoboGuice - это необходимая структура, которая приносит простота и легкость внедрения зависимости на Android. Guice - это облегченная структура внедрения зависимостей для платформы Java. Внедрение зависимостей - это шаблон проектирования с основным принципом отделение поведения от разрешения зависимостей.
Это позволяет удалить “жестко” зависимости и позволяет изменять их во время компиляции или выполнения. Это делает ваш код легче писать, менять, тестировать а также повторное использование в других контекстах. Ваш код становится меньше стандартного кода и больше бизнес-логики.
С RoboGuice вы можете перенести все это на Android. RoboGuice позволяет вам использовать свои собственные базовые классы наряду с вашими основными методами или функциями. Это делает RoboGuice совместим с большинством библиотек а также позволит вам раздеться почти все платформы платформы с помощью различных инъекций, таких как просмотр инъекций, инъекции ресурсов, инъекции SystemService и т. д..
Проще говоря, использование RoboGuice в вашем проекте Android означает писать меньше кода, обрабатывать меньше ошибок и меньше головной боли.
Как установить RoboGuice
RoboGuice может быть легко установлен в ваш проект на основе Gradle, добавив следующие строки в ваш “зависимости” раздел файла сборки вашего модуля приложения:
project.dependencies compile 'org.roboguice: roboguice: 3. +' предоставлено 'org.roboguice: roboblender: 3. +'
Как использовать RoboGuice
RoboGuice прост в использовании, если вы следуете этим основным правилам:
1. Расширьте свои занятия из соответствующих базовых классов RoboGuice, таких как RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity и т. д..
2. Внедрить представления, ресурсы или услуги используя различные аннотации, предоставленные RoboGuice, такие как “@InjectView“, “@InjectResource“, “@Inject“, так далее.
Вот и все. Просто, не правда ли? Вы будете чувствовать себя как дома, если вы знакомы с Java аннотации.
Нет RoboGuice против RoboGuice
Давайте сравним, как RoboGuice может минимизировать вашу рабочую нагрузку и повысить производительность на этом небольшом примере. Предположим, у нас есть “activity_main.xml” файл макета, имеющий все виды, перечисленные ниже.
Замечания: Комментарии добавлены для улучшения понимания кода.
класс NoRoboGuice extends Activity // просмотр имени TextView; Уменьшенное изображение ImageView; // сервисы LocationManager loc; // ресурсы Drawable icon; Строка myName; public void onCreate (Bundle saveInstanceState) super.onCreate (saveInstanceState); setContentView (R.layout.activity_main); // устанавливает имя макета = (TextView) findViewById (R.id.name); // шаблонная инициализация thumbnail = (ImageView) findViewById (R.id.thumbnail); // шаблонная инициализация loc = (LocationManager) getSystemService (Activity.LOCATION_SERVICE); // шаблон инициализации icon = getResources (). getDrawable (R.drawable.icon); // шаблонная инициализация myName = getString (R.string.app_name); // шаблон инициализации name.setText ("Hello, + myName); // актуальный код
Вот как это выглядит с RoboGuice:
@ContentView (R.layout.activity_main) // устанавливает класс макета RoboGuice extends RoboActivity // views @InjectView (R.id.name) TextView name; @InjectView (R.id.thumbnail) ImageView thumbnail; // resources @InjectResource (R.drawable.icon) Drawable icon; @InjectResource (R.string.app_name) String myName; // services @Inject LocationManager loc; public void onCreate (Bundle saveInstanceState) super.onCreate (saveInstanceState); name.setText («Hello» + myName); // актуальный код
RoboGuice не только сокращает код, но также помогает улучшить читаемость и понятность исходного кода. Это берет догадки из разработки приложений и код вашего приложения больше не засорен с механикой платформы Android.
Это преимущество очень помогает во время отладки или же обновление приложение, так как вы можете легко прочитать и изменить исходный код. Вам больше не нужно искать фактический код между исходным кодом инициализации, потому что теперь существует только фактический код и RoboGuice автоматически выполняет инициализацию шаблона.