Comments 14
Ох уж эта мания превращать приложения в сайты. Что внешне, что внутренне.
А я считаю, что это отличная идея. Наконец-то гугл официально дал рекомендации по проектированию архитектуры приложений. Раньше все писали кто как хотел. Много было статей по MVP и прочим изыскам. Кто-то пытался натянуть MVVM используя сторонние библиотеки. А теперь рай на земле видимо наступил наконец-то =)
Согласен, начинают просыпаться что-ли, правильные вещи выдавать. Кстати, кому интересно, вот свежий доклад с дроидкона в Берлине на тему MVVM. Автор как раз проходится по всем сторонним библиотекам и приходит к выводу, какой сюрприз, что реализация от гугла получилась лучшей. Правда, тоже очень надеется на скорую реализацию обратного связывания данных.
А здесь теперь уже вьюха вылазит за границы дозволенного парадигмой:
Вопрос: как с производительностью (полагаю, все неважно) и как самочувствие GC после всего этого?
<TextView android:text="@{UnixDateConverter.convert(user.birthday)}" />
Вопрос: как с производительностью (полагаю, все неважно) и как самочувствие GC после всего этого?
Это немного другая вьюха, не от MVP/C, а от MVVM, ей можно. в MVVM ViewModel не сильно волнуется о том, в каком именно виде вьюха отразит день рождения. Вообще очень клево, давно это ждал. После опыта с Windows и MVVM разработка под Android приносила некоторый зуд и неудобство, спасибо Butterknife хоть как-то уменьшал этот зуд. Теперь заживём :-).
Я правильно понимаю, что механизм Data Binding не зависит от версии Android, установленной на устройстве пользователя? То есть работать будет везде, чисто за счет кодогенерации, верно?
не очень понял как прибайндить коллекцию из вьюмодели к ListView/RecyclerView :(
Из коробки пока нет варианта. Как вариант посмотреть binding-collection-adapter, но ещё не было времени изучить эту библиотеку.
>«someView.setVisibility(isVisible: View.VISIBLE: View.GONE);»
Может быть, так?
someView.setVisibility(isVisible? View.VISIBLE: View.GONE);
Может быть, так?
someView.setVisibility(isVisible? View.VISIBLE: View.GONE);
У Вас в настройке Layout открывается LinearLayout, а закрывается RelativeLayout!
Т.е. из View в Model передать данные не получилось?
Добавил для класса Vm переменную в разметку:
Но из поля EditText
методом vm.editFirstName.get().toString() всё равно не достать значение, не удалось победить?
Добавил для класса Vm переменную в разметку:
<variable
name="vm"
type="ru.arvalon.databindinglibrary1.ViewModel.Vm"/>
Но из поля EditText
<EditText
android:id="@+id/editFirstName"
android:text="@{vm.editFirstName}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
методом vm.editFirstName.get().toString() всё равно не достать значение, не удалось победить?
Sign up to leave a comment.
Быстрый старт Data Binding в Android