В новом дайджесте мы собрали истории про A/B-тестирование в Яндексе, про Google и Swift, про закрытие проектов, про новых тамагочи, про автоматизацию всего сущего и многое другое.
Рубрика «dagger 2» - 2
Дайджест интересных материалов для мобильного разработчика #231 (20 ноября — 26 ноября)
2017-11-26 в 12:29, admin, рубрики: App Store, apple, dagger 2, Google, ios11, kotlin, swift, xamarin, Блог компании Everyday Tools, маркетинг мобильных приложений, разработка игр, разработка мобильных приложений, Разработка под android, разработка под iOSПонимание Dagger 2
2017-11-26 в 11:03, admin, рубрики: dagger 2, dependency injection, java, перевод, Разработка под androidНиже вы увидите вольный перевод статьи Miquel Beltran, опубликованной на
Medium 12 февраля 2016 года. Целью статьи является формирование понимания базового механизма работы Dagger 2.
Читать полностью »
Dagger2 и архитектурный компонент «ViewModel»
2017-09-07 в 18:32, admin, рубрики: android, android development, dagger 2, dependency injection, multibindings, Разработка под androidViewModel — это компонент из набора библиотек под названием Android Architecture Components, которые были представлены на Google I/O 2017. ViewModel — предназначена для хранения и управления данными связанных с представлением, а также с возможностью “пережить” пересоздание активити (например переворот экрана).
На хабре уже была хорошая статья посвящена ViewModel, где можно ознакомится с данной темой более детально.
В данной статье будет рассмотрены варианты инжекта(предоставление) зависимостей в компонент ViewModel
с использованием Dagger 2. Проблема заключается в том, что получение ViewModel должно осуществляться специальным образом, что в свою очередь накладывает некоторые ограничения, которые связанные с предоставлением зависимостей в сам класс ViewModel
, а также предоставление ViewModel
в качестве зависимости. Данная статья также возможно будет интересна тем, кто интересуется практическим применением такой функциональности Dagger, как multibinding.
Dagger 2. Subcomponents. Best practice. Part 2
2017-09-04 в 10:34, admin, рубрики: android, best practice, dagger 2, Dagger subcomponents, dependency injection, java, разработка мобильных приложений, Разработка под androidВсем привет! В прошлый раз мы разобрались с реализацией Subcomponent и случаями использования его на примере отдельно взятого экрана. Здесь будет несколько отсылок к той статье, поэтому лучше сначала ознакомиться с ней.
Сегодня же мы обсудим создание реальной авторизованной зоны приложения и работу с соцсетями. Конечно же не без помощи Dagger’а!
Интересно? Добро пожаловать под кат!
Шпаргалка или Must have для андроид разработчика
2017-09-01 в 15:50, admin, рубрики: android, butterknife, dagger 2, multidex, retrofit 2, Разработка под androidСтатья была создана для разработчиков которые желают найти новые инструменты и библиотеки для дальнейшего упрощения рутинной жизни.
Итак, начнем.
Butterknife
Библиотека была разработана компанией Square и сразу же прижилась у разработчиков. ButterKnife был создан на замену findViewById
для того чтобы уменьшить и без того раздутые activity
:
View someView = (View) findViewById(R.id.someView)
Вы только посмотрите какая длинная строка! А если это поле класса — то это целых две строки:
View someView; //Первая строка
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
someView = (View) findViewById(R.id.someView); //Вторая строка
}
А теперь перейдем к ButterKnife. Вот простой пример кода с ButterKnife:
@BindView(R.id.someView1) View view1;
@BindView(R.id.someView2) View view2;
@BindView(R.id.someView3) View view3;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this); //Важная строка
}
Все очень просто: с помощью аннотации @BindView
мы говорим какая вьюха нам нужна, и потом главное не забыть про ButterKnife.bind(this);
(Так делать нужно в активити, для других мест вроде holder или fragment это делают немного по-другому. Смотрите здесь.
Как добавить к проекту?
Читать полностью »
Dagger 2.11 & Android. Часть 2
2017-09-01 в 10:16, admin, рубрики: android, dagger 2, dependency injection, java, mobile development, разработка мобильных приложений, Разработка под androidВ предыдущей статье мы рассмотрели, как мы можем использовать специальный модуль dagger-android для предоставления зависимостей в активити и фрагменты, а также организацию разных скоупов.
В данной статье мы рассмотрим составляющие модуля, рассмотрим предоставление зависимостей в другие базовые компоненты андроида, а также рассмотрим варианты предоставления зависимостей с динамическими параметрами.
Модуль dagger-android позволяет заинжектить зависимости в следующие базовые компоненты андроида:
Activity, Fragment, Service, DaggerIntentService, BroadcastReceiver, ContentProvider.
Если мы используем классы из библиотеки поддержки (например AppCompatActivity, android.support.v4.app.Fragment
), то нам надо использовать соответствующие классы из дополнительной даггер библиотеки поддержки (dagger-android-support).
Dagger 2 Multibindings
2017-08-25 в 13:42, admin, рубрики: android development, dagger 2, dependency injection, Разработка под androidВ данной статье рассмотрены особенности применения мульбайндинга, который может помочь решить множество проблем связанных с предоставлением зависимостей.
Для данной статьи необходимы базовые знания по Dagger 2. В примерах использовался Dagger версии 2.11
Dagger 2 позволяет забайндить несколько объектов в коллекцию, даже в тех случаях, когда байндинг этих объектов происходит в разных модулях. Dagger 2 поддерживает Set
и Map
мультибайндинг.
Dagger 2.11 & Android
2017-08-19 в 6:51, admin, рубрики: android, dagger 2, dependency injection, Разработка под androidВ данной статье рассматривается использование специализированного модуля Dagger 2 под android и подразумевается, что у вас есть наличие базовых знаний по Dagger 2.
В Dagger 2.10 был представлен новый модуль специально для Android. Данный модуль поставляется как дополнение, состоящий из дополнительной библиотеки и компилятора.
В версии 2.11 были некоторые небольшие изменения, в частности некоторые классы, были переименованы, поэтому будет использоваться именно эта версия.
Dagger 2. Subcomponents. Best practice
2017-08-03 в 12:47, admin, рубрики: android, best practice, dagger 2, Dagger subcomponents, dependency injection, java, разработка мобильных приложений, Разработка под android, метки: Dagger 2На хабре уже было несколько хороших статей по установке и работе с Dagger 2:
Я же хочу поделиться своим опытом использования Dagger 2 на реальных проектах с реальными кейсами. Раскрыть читателю мощь и удобство как самого Dagger’а, так и такого его аспекта, как Subcomponent.
Перед тем, как пройти под кат, следует ознакомиться с вышеуказанными статьями.
Кого заинтересовал, you are welcome!
Dagger 2. Часть третья. Новые грани возможного
2017-02-06 в 6:23, admin, рубрики: android, android development, architecture design, dagger 2, java, mobile development, разработка мобильных приложений, Разработка под androidВсем привет!
Наконец-то подоспела третья часть цикла статей о Dagger 2!
Перед дальнейшим прочтением настоятельно рекомендую ознакомиться с первой и второй частями.
Большое спасибо за отзывы и комментарии. Я очень рад, что мои статьи действительно помогают разработчикам окунуться в мир Даггера. Именно это и придает силы творить для вас дальше.
В третьей части мы с вами рассмотрим различные интересные и немаловажные фичи библиотеки, которые могут вам очень пригодиться.
Вообще библиотека существует уже приличное время, но документация по-прежнему крайне отвратная. Разработчику, который только начинает свое знакомство с Даггером, я бы даже посоветовал не заглядывать в официальную документацию вначале, дабы не разочаровываться в этом жестком и несправедливом мире =)
Есть, конечно, моменты, которые расписаны более-менее. Но вот всякие новые фичи описаны так, что мне приходилось методом проб и ошибок, залезая в сгенерированный код, самому разбираться, как оно все работает. Благо хорошие люди пишут хорошие статьи, но даже иногда они не дают четкого и ясного ответа сразу.
Итак, хватит разглагольствовать, и вперед к новым знаниям!