Алексей
Кажется, там есть ссылка
Алексей
Вы по ней ходили?
Anonymous
Ходил
Anonymous
Там нужно класс писать и генерить это не подходит. Нашел другой вариант
Алексей
Ок:)
Andrew
и я не знаю как теперь всю эту логику разделить
Я думаю, что получив объект, нужно сложить его в базу. Со всеми его списочками и данными. Вернуть во вью айдишник этого объекта. В самой модельке объекта прописать специализированные сеттеры или методы, которые занимаются раздачей данных в зависимости от условий. И вот когда вью получает от ретрофита айди объекта, она обращается в базу, по id получает объект, у объекта получает данные через разные методы.
Andrew
Готово. Вы великолепны.
Vitaly
Помогите написать UI тесты, не понимаю как написать так, чтобы они действительно были полезны
Есть кнопка, у которой есть 3 состояния: обычное, нажата, мигает
В каждом из состоянии меняется цвет картинки, цвет текста и цвет фона
Цвета задаются через ColorStateList, не напрямую, а цвета меняются, когда меняется состояние вьюшек (activated или нет)
Как это протестить?
Vitaly
Надо ли проверять цвет каждого элемента при смене состояния или достаточно проверить, что состояние действительно изменилось и не проверять текст?
Vitaly
Как быть в случае с изображением, если оно у меня векторное? Надо ли проверять цвета вектора?
Дмитрий
Vitaly
Vitaly
Как написать UI тесты для мигающей кнопки?
Denys
Как написать UI тесты для мигающей кнопки?
Делайте свой матчер вроде.
https://gist.github.com/Aracem/a596c40f9750f02f4e606dad170925e7
Или используйте screenshot tests.
https://facebook.github.io/screenshot-tests-for-android/
Anonymous
Ребят, подскажите с чего начать изучение котлин, сколько времени на его освоение уйдет?
Anonymous
Сейчас я знаю JavaScript и PHP.
Anonymous
С Java дело не имел.
central
так как все равно подавляющее большинство либ будет написано на джава и не зная его использовать их будет проблематично
Anonymous
central
То есть без Джава никак?
смотря какое понимание программирования в целом, если хорошо разбираетесь в программирование и умеет читать доки то можно просто по ходу дела разобраться иначе вероятно никак
✙
999999999999 раз спрашивали
✙
Поищи
Anonymous
Ок.
Vitaly
Юнит тестирование с Robolectric занимает 5.7 секунд
Интеграционные тесты занимают 5.1 секунду
В чём тогда преимущество Robolectric ?
Denys
Denys
Vitaly
Я бы вообще выкинул этот Robolectric, но раз уж его продвигает Гугл и его многие используют, значит в нём есть какой-то смысл
Алексей
Алексей
и на большем количестве тестов прирост в скорости таки должен быть ощутимым.
Алексей
А если я теструю поведение кнопочек и у меня есть возможность затестить их юнит тестами, то гораздо лучше затестить из инструментальными тестами, верно?
Так как юнит тесты больше про логику нежели про что-то визуальное
Мне кажется, вы что-то перепутали. Есть чистые unit-тесты, для вашей чистой логики. Есть инструментальные (robolectric) unit-тесты, для тестирования всё ещё логики, но уже той, которая использует какие-то части Android Framework. Есть интеграционные тесты, которые технолгически те же юниты, просто охватывают больше компонентов. А есть UI тесты, которые тестируют именно UI вашего приложения, и запускаются только на девайсе. Тестирование кнопочек больше похоже на последнюю категорию.
Denys
Denys
Возможен долгий старт, но на CI, например, это полностью нивелируется количеством тестов.
Александр
время "офигительных" вопросов
Когда я запускаю приложение, OS создаёт под него процесс и выделяет ему память, которую берёт под контроль Dalvik. Верно ли, что Dalvik разделяет предоставленную ему память на кучу и стек? Я так понимаю что это разделение внутри процесса, не внутри OS?
Разбираюсь со сборщиком мусора, и из контекста вроде как следует то что GB работает с кучей каждого процесса. Не уверен что это так, и пояснений нигде нет, видимо ответ на этот вопрос очевиден всем кроме меня 🧐
Олег
Вроде стека нет
Александр
То есть стек на уровне OS?
Александр
Где - то же он есть)
Олег
Насколько я понимаю, система (linux) выделяет процессу память, а процесс уже делает что хочет, так что по сути VM сама управляет регистрами/кучей
Олег
Зачем тебе стек?
Александр
Мне он не нужен. А вот процессу - нужен, я так понимаю в стеке хранятся ссылки на объекты из кучи.
Александр
Мне он не нужен - в том смысле что я с ним не работаю, вопрос просто для понимания происходящего.
Олег
Что-то я запутался
Вроде dalvik безстековый
Александр
Мне сейчас уже не найти ту статью, из контекста которой я решил что стек тоже относится к процессу.
Ну а с другой стороны, как он будет существовать в отрыве от процесса? Я так понимаю, он связывает само приложение и память посредством того что хранит значения примитивов и ссылки.
Denis
Denis
Олег
Denis
Александр
он register based
Не понял, если честно. Видимо опять придётся читать тонну текста(
Так, ок. Пусть Dalvik не знает про стек и не оперирует им.
Тогда верно ли утверждение, что память, выделяемая процессу, Dalvik воспринимается как та самая куча?
Denys
https://developer.android.com/topic/performance/memory-overview
Denys
Первоисточник :)
Denis
Denis
Dalvik основан на регистрах
Александр
Denys
Олег
Олег
Andevcon-DEX.pdf
Александр
Олег
Может про JVM читал? Там 100% стек
Александр
Олег
(Есть конечно регистровые, но большинство настольных VM стековые, ибо памяти и частоты больше)
Александр
Александр
Вроде выглядит годно, посмотрю, спс.
Бек
Бек
мой сервис виден только в кеш он нивиде рабочий приложение
Александр
Может про JVM читал? Там 100% стек
Тут не так давно проскакивало, что каких - то существенных различий в работе GB между Dalvik и , скажем так, "прочими" VM нет.
Поэтому мб можно сказать, что прочитанное про GB для JVM справедливо и для Dalvik в полной мере.
Denis
Denis
есть детали, которые отличаются
Бек
помогите мне тоже
Denis
например, dalvik не меняет адрес объектов в куче
Denis
ох, надеюсь, что правильно помню
Олег
Сергій