Dossanov
Всем хай, не подскажете хороший контента на тему dagger2
Surik
Здрасте, можете подсказать, как уловить тресение смартфона?
Danil
Привет. Делал ТЗ приложение. На ревью кода, одно из замечаний было: "для решения потенциальных проблем с NPE в Java стоит использовать анноттации @Nullable @NotNull". Например, в методе присутствует проверка на null, но при этом я должен ещё и помечать его соответствующей аннотацией. Гугол объясняет описание аннотаций и для чего они нужны, но в практике как будто надо все методы и параметры засрать этими аннотациями. У кого есть опыт в этом, объясните пожалуйста правильную практику)
Eu
Как по мне, так это придирки
Dmitry
Danil
Dmitry
разница будет когда ты попробуешь в метод передать null в качестве @NonNull параметра.
Dmitry
студия подскажет. такие подсказки позволяют избегать тупых ошибок - их сразу видно.
Dmitry
и если подсказка есть - значит что-то не так
Dmitry
это наиболее актуально для публичных апи - когда ты делаешь апи для других людей
Dmitry
но и для своих личных нужд удобно использовать.
Dmitry
это compile-time проверки, если что
Danil
Хорошо, спасибо. А по кол-ву их использований? Просто помечать каждый метод?
Andrey
Dmitry
Если метод обрабатывает параметры = null, то параметры - @Nullable. Если нет - @NonNull
Dmitry
если не уверен - не надо ничего помечать просто так
Danil
Danil
Ярослав🇺🇦
Dmitry
Ну это вроде как:
- Как заменить замок багажника на Ниве?
- Купи Тойоту.
Dmitry
Совет разумный конечно, но не отвечает на вопрос.
CatOnPad
Привет! Кто-нибудь делал когда-нибудь генератор частот? Появилась необходимость реализовать такой, но возникла проблема, каждый раз при изменении частоты, (то есть она становится выше или ниже) слышен треск, как будто аудиоканал выключается и включается заново. Подскажите пожалуйста, можно ли заставить беспрерывно играть аудио трэк? Чтобы при изменении частоты не было треска
Alexander
Можно ли как-то программно получить все разрешения, которые прописаны в манифесте?
usernameak
usernameak
2. что это за говнокод
CatOnPad
usernameak
Пояснений
я писал подобную штуку, но твой код понять не могу
CatOnPad
Алгоритм писал не сам, был писан при царе горохе кем-то еще
usernameak
а вообще чтобы не было треска надо стримить трек и генерить частоту на лету
CatOnPad
Да, я это понимаю и это спрашиваю, как это правильно реализовать?
usernameak
CatOnPad
CatOnPad
Поэтому и спрашиваю, вдруг кто-то делал и знает, как это лучше сделать
Ярослав🇺🇦
RxJava официально гугл не поддерживает и рекомендует LiveData, поэтому и следуем указаниям Гугл. Что лучше знаешь то и используй, но знай там в Rxjava есть 3 версия и она только из api 26 будет работать, а в RxJava2 следующем году официально будет прекращена разработка
Mike
> поэтому и следуем указаниям Гугл
сильное заявление)
You
Ярослав🇺🇦
Тони
Какие методы нужно использовать чтобы можно было плавно анимировать расширение или сужением image view со смещение других элементов?
iv.animate().scaleX(1 + slideOffset).scaleY(1 + slideOffset) - классно работает но наезжает на другие элементы.
Заранее спасибо за ответы.
Dmitry
Dmitry
MVVM? суть MVVM в авто-биндинге данных. Чем биндишь?
Dmitry
Если google data binding - то LiveData конечно
Dmitry
но это не мешает использовать Rx на нижних слоях - вроде репозиториев и прочего
Dmitry
я использую Rx от gateways до usecases. а в VM превращаю в LiveData для дата биндинга
Евгений
Dmitry
LiveData разве может всё тоже самое, что Rx?
Dmitry
data binding задизайнен для связки с LiveData
Dmitry
но LiveData на всех слоях... после первых попыток я отказался от такого подхода. Это не значит, что это плохой подход. просто Rx вроде помощнее будет.
Anonymous
Ребята, я хочу понять MVP и у меня вопрос, а есть ли книги по чистой архитектуре в андроид?
Andrew
Чистая Архитектура Роберта Мартина
Andrew
Но лучше mvvm )
Egor
Ребят, фигня какая то. Поменял название прилки в ресурсах, но при установке все равно вылазит старое. Уже пробовал удалять и ставить заново. Label application тега стоит нужный, из ресурсов.
Dmitry
Чистая архитектура != mvp
Egor
Dmitry
Dmitry
https://m.habr.com/ru/company/mobileup/blog/335382/
Norim
я тут немного запутался, если у меня кортин работник, то, изменив диспатчер, я должен выполнять все в блоке launch { } или нет?
Arsen
привет)
Посоветуй те плиз какой то толковый курс по android для новичка 🙂 Буду признателен🤙 возможно какие то обучающие мини проекты...
Спасибо!
Norim
Dmytro
xxx
Arsen
с java знаком, занимаюсь автоматизацией тестирования
Dmitry
Лучше начать с паскаля или бейсика.
Norim
Кстати, у меня как-то получилось, что я по ошибке написал 2 корутины - одна читала с бд, вторая делала запросы в сеть. Поменял на одну и чтение с бд прекратилось пока шли запросы в сеть. Понял что ошибка помогла)))
Сергей
#noob В общем после гугления выяснилось, что этим способом проверяют интернет, но используют это по-разному. К тому же оно как обычно уже депрекейтед, а новое api как всегда через жопу устроено непонятное. Тут вообще целую простыню непонятного кода написали. Как и где всё таки лучше проверять отсутствие соединения ?
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
товарищи, а с groovy на kotlin DSL вручную переходить нужно? автоматом нельзя перейти?
Maxim
Maxim
Не понимаю зачем такие костыли пилить
Maxim
Если мобильная передача данных включена, но интернет не оплачен, то такой способ работать нормально не будет
Maxim
Лучше лови исключение от OkHttp/Retrofit если ты используешь REST API.
Если на сокетах, то считай факт отсутствия соединения как факт отсутствия интернета
Maxim
Странно так делать
Maxim
Лучше считать вылет Exception как факт ошибки на сервере или отсутствия соединения
Maxim
Работал на фрилансе недавно над проектом, у которого такая проверка
Maxim
В итоге при отключённом WiFi, но включенном, неоплаченном мобильном интернете не работал оффлайн режим ))