Vadim
если ты говоришь «инициализировать интерфейс», то надо разбираться с основами программирования, тесты подождут
может я неправильно выражаюсь в тесте проинициализировать переменную с типом интерфейса
Андрей
Количество кода. В некоторых случаях количество плохого
ну да, если okhttp3 подрубить, то строк кода будет больше, а multidex - ближе
Андрей
если нет желания переходить на retrofit то по большей части смысла все менять нет
Сергій
в okhttp более приятное апи
Vadim
какая разница, в тесте или не в тесте?
ну просто какое значение то я могу задать по умолчанию чтобы он не был у меня null
Vadim
какая разница, в тесте или не в тесте?
извините) ну вот смотрите для типа List<Some> я бы мог проинициализировать переменную следующим образом listOf("что то там", "ещё что то")
Vadim
нчиего не понимаю
а теперь я пытаюсь инициализировать свою переменную с типом моего кастомного интерфейса и вот загвоздка, не могу понять как это можно сделать
Vadim
так же точно, присвоив туда объект этого типа
хорошо, но тип то другой ну то есть я же не могу написать что то вроде var paymentClient: PaymentClient = listOf("", "some") так как другой тип после знака "="
Mike
хорошо, но тип то другой ну то есть я же не могу написать что то вроде var paymentClient: PaymentClient = listOf("", "some") так как другой тип после знака "="
ну да, когда тип написан List, выражение справа должно иметь тип List; когда тип PaymentClient, и выражение должно быть типа PaymentClient.
Mike
всё верно, но какое это самое выражение типа PaymentClient?)
создание экземпляра класса, который реализует интерфейс PaymentClient
Mike
реально, почитай основы основ
Сергей
Всем привет, у меня возникла такая проблема, я храню в памяти bitmap, но когда активность резьюмится то приложение закрывается с ошибкой try to use recycled bitmap Я так понимаю что imageView ресайклит битмап при пересоздании, но как тогда хранить картинку в памяти, чтобы можно было ее переиспользовать сколько захочешь раз?
Дмитрий
Кто-нибудь знает каким образом Telegram на MIUI прошивках (Lenovo/Xiaomi) включает себя в автозапуск автоматом в центре безопасности? По коду зависимость от прошивки идёт только в установлении количества непрочитанных сообщений на экране. На stackoverflow все рекомендуют запускать активити с настройками безопасности и надеяться что юзер сам включит разрешение. Но всё же это не особо интересное решение.
Artyom Pugachev
Привет, подскажите хороший туториал по mvp.
Дмитрий
Artyom Pugachev
Привет, погугли.
Нагуглил миллиард уже. С первого взгляда трудно понять, насколько они адекватные. Думал, вдруг есть какой-то мастрид.
Сергій
Mike
чо,
да уж лучше стрёмная наколеночная поделка, чем решения гугла
Сергій
да уж лучше {xx}, чем решения {yy}
Сергій
)
Сергій
кому-то и Clean Arch норм
Anton
да уж лучше стрёмная наколеночная поделка, чем решения гугла
Чем гугловое решение плохо ? Ну я не ради срача. Мне действтельно это интере сно
Anton
Какое именно? Там каждое плохо по-своему)
Ну вы написали "да уж лучше стрёмная наколеночная поделка, чем решения гугла". Вы же про что-то написали. Так вот то про что вы написали чем плохо
Anonymous
Ребят, изи вопрос, в if внутри проверяется обьект сначала на нулл, а потом еще проверка связанная с его методом. Словлю ли я NPE или после левой проверки, дальше выполнятся ничего не будет?
Андрей
основы же
Anonymous
а если ||
Anonymous
поидее не словлю
Андрей
смотря как написано
Андрей
ну если if (something == null || something.get())
Андрей
то нет, не словишь
Mike
Ну вы написали "да уж лучше стрёмная наколеночная поделка, чем решения гугла". Вы же про что-то написали. Так вот то про что вы написали чем плохо
Ни их MVP, ни их MVVM не решают никаких проблем. Код не переиспользуется; ни презентеры, ни вьюмодели не умеют сохранять состояние; нет нормального способа шарить данные между презентерами/вьюмоделями. То есть гугл взяли рандомное неудачное решение и скопировали его.
Anonymous
я протупил, вот, там &&))) if(obj != null && !obj.meth())
Anonymous
если & словишь, если && нет
Сопстно, спасибо за ответ)
Mike
код переиспользуется если идти через наследование презентеров и вьюмоделей
Когда в одну вьюмодель нужно насовать несколько уже реализованных фич, настаёт тупик.
Никита 🙃
А как превратить это: 0x77000000 в HEX цвета?
Mike
А пример удачного решения можно?
http://github.com/Miha-x64/Flawless для платформенных вьюх (фрагментов), http://github.com/Miha-x64/reactive-properties/ для вьюмоделей.
Mike
А как превратить это: 0x77000000 в HEX цвета?
так это и есть hex :) тебе нужно такую строку распарсить?
Никита 🙃
А, да
Mike
срежь первые два чара и сделай Color.parse
Никита 🙃
😅
Никита 🙃
Спасибо
Ruslan
А пример удачного решения можно?
Тут есть модуль mvpcore, с сохранение при перевороте и сохранением в savedInstanceState https://github.com/PhoenixDevTeam/Phoenix-for-VK
Artyom Pugachev
Всем спасибо
Askar
кто знает - если сделать в Google Play поэтапное внедрение на 50%, затем сделать еще одно обновление на 50%, то это затронет тех же пользователей или может и новых тоже?
Мумитроль
Скорее всего других. По идее будет равномерное распределение между разными странами и различными устройствами
Konstantin
Какая самая топовая библиотека для openstreetmap? А то оффициальной нет, а сторонних миллион.
Mike
Она нормалек?
Вместе с каким-то дополнительным паком, который умеет в маркеры и кластеризацию — нормально.
Mike
А что значит не умеют сохранять состояния ? Это что имеется ввиду ?
ну допустим ViewModel после респоуна процесса будет в изначальном состоянии, всякие MutableLiveData будут пустыми
Anton
ну допустим ViewModel после респоуна процесса будет в изначальном состоянии, всякие MutableLiveData будут пустыми
респаун это имеется ввиду когда процесс убили. А мы его заново запускаем ? onSaveInstanceState ?
Mike
респаун это имеется ввиду когда процесс убили. А мы его заново запускаем ? onSaveInstanceState ?
Система прибила процесс, а потом приложение открыли, ему надо восстановиться
Mike
save/restore instance state, да
Artem
Хочу отправить пост запрос, но во всех гайдах нужен этот импорт, а студия судя по всему о нем и не слышала
Vladimir
Система прибила процесс, а потом приложение открыли, ему надо восстановиться
Дак после пробития процесса никаких данных же нет уже
Vladimir
Дак после пробития процесса никаких данных же нет уже
Куда это состояние должно сохранится?
Kanstantsin
Ни их MVP, ни их MVVM не решают никаких проблем. Код не переиспользуется; ни презентеры, ни вьюмодели не умеют сохранять состояние; нет нормального способа шарить данные между презентерами/вьюмоделями. То есть гугл взяли рандомное неудачное решение и скопировали его.
а зачем хранить состояние ? в гугловых viewModel например onCleared() дергается когда дестроится activity к которой они привязаны, а что ещё надо ? isLoading ? ну он не всегда нужен, его через наследование можно запихнуть туда, иногда и не нужен