Ярослав
Ярослав
некоторые иконки скрываются, остальные затемняются
Arsen
Для использования БД из сервиса в отдельном процессе нужны какие-то доп. телодвижения типа контент провайдера?
Arsen
в процессе самого приложения бд тоже юзается
やみ
LookLock
やみ
Луклок – енто когда ты запрещаешь всем снимать содержимое экрана. Например, Orfox или запись экрана при Нетфликсе. Ну иль когда ты в ТГ пароль поставил и запретил всем снимать скриншоты. То есть ни ты, ни система не сможет делать снимок экрана для карточки из recents
やみ
Ну чтоб другие приложения не снимали ничего непристойного из режима инкогнито
Александр
Ребят может кто посдкажет, как в телеге и ватсапе вот текстовое сообщение текст огибает время
Александр
может кто знает как это делается?
Nikita
Только клиентская часть
Александр
да
Artem
на вкус и цвет только
Eugene
я пытался писать на groovy под андройд
Eugene
:-)
Artem
+++
Sergey Mitrofanov
Есть у кого-нибудь исчерпывающая статейка или ссылка по поводу real-life мракобесия с Doze и сервисами?
А то там есть бага на 6-м с потерей вейклоков у foreground сервиса, и потерю сети в дозе на самсунгах для «не заснувших» сервисов, и рекомендации к запуску сервиса в отдельном процессе… Как-то все это запутанно, и я уже не знаю с какой стороны подступиться, чтобы понять чего можно реализовать, а чего нельзя? =)
Ярослав
так-то ничем, но после того, как ты покодишь на котлине, на джаву возвращаться не захочешь
Sergey Mitrofanov
ниасилил java-синтаксис? 😉
На крестах еще не пробовал, видать - как оно без GC живется )
Ярослав
у котлтна 2 неудобных момента:
- нельзя задать значение переменной в выражении (типа obj.method(variable = value))
- конструкции if else вместо ? :
Sergey Mitrofanov
Ну тогда странно слышать о том, что точки с запятыми и явная типизация с явными же геттерами и сеттерами доставляют боль =)
А вообще, в этом ничего удивительного нету, потому что жава изначально создавалась с Си-подобным синтаксисом, в отличие от котлина, который создавался под влиянием моды на ФП =)
Котлин просто другой, и у него тоже свои ограничения имеются. Тут скорее дело вкуса - кому с чем комфортнее живется )
З.Ы.: А вообще мне не очень нравится движение андроида в сторону котлина. Потому как забывая про жаву можно потерять «хватку» во всех прочих областях профессии, где жаве до сих пор нет достойной замены (котлин до них еще очень не скоро доберется)…
Igor
Igor
Тут еще проблема андроида - весной выходит Java 10 с var
А когда это будет на андроид?..
Igor
Sergey Mitrofanov
Кстати, мне пока еще не довелось погрузиться в котлин основательно, но интересен один момент:
Не теряет ли котлин за своими 100500 плюсами чистоту объектно-ориентированности?
Или ООП было принесено в жертву удобства написания процедурного кода? )
Sergey Mitrofanov
по-другому это как? )
В стиле 70-80-х? =)
…а что, вполне по-хипстерски )))
Sergey Mitrofanov
А теперь с-масштабируй это, например, на приложение для такси 😉
Sergey Mitrofanov
хайп + чувство причастности к прогрессу, в основном =)
Ну и + говнокодить на котлине легче 😉
Sergey Mitrofanov
Почему тебя вообще «new MyType()» беспокоит, когда для этого существует DI, в котором ты это пишешь только один раз, а получаешь через конструктор? )
Sergey Mitrofanov
class Conversation (
Client socketClient;
ArrayList<Message> messages = new ArrayList();
ArrayList<Message> unreadMessages = new ArrayList();
Conversation(Contact contact) {
socketClient = Client(contact)
}
)
А вот вывешывать наружу сеттеры и геттеры на каждое поле - это уже мелкое хулиганство. Какой смысл в классе, если они ничего не делает, кроме как хранит набор переменных?
Yevgen
Ребят в чем может быть проблема, нашел библиотеку ассеткопи, сделал все как написано, в манифесте есть разрешение.
Но при нажатии на кнопку ничего не происходит
Sergey Mitrofanov
Ну если вы про «автовалью» в котлине, то это скорее минус, чем плюс. Ибо как я уже указал, это будет уже не объект, а какая-то структура (как struct в С++)
Danil
вот мне лично не нравится, что для создания статического метода мне нужно объявить его вне класса
Igor
Sergey Mitrofanov
Ну, в конструктор их, и под DI
Igor
Надеюсь по тому что тебе scala ближе (иначе это уже зашквар)
Igor
Олександр
Да что вы доебались друг до друга
Ivan
Инжект через конструкторы онли?
Igor
Если для тебя прогресс тоже остановился на java6 - то может он тебе и не нужен
А так можешь почитать/посмотреть
- https://kotlinlang.org/docs/reference/comparison-to-java.html
- https://youtu.be/VU_L2_XGQ9s - Андрей Бреслав — Kotlin для Android: коротко и ясно
Sergey Mitrofanov
Правильно и + юнит тесты на них же, чтобы изменение не порушило их использование.
Что записано - то определено. Что нет - то хрен его знает.
В идеале бы я жаве дал возможность указывать явно подчищать за собой объекты из памяти, не дожидаясь ГЦ. Но увы и ах, этого не дают.
Хотя я уже сталкивался с случаями, когда ГЦ тупо не успевает запуститьтся до того как мы схватываем OOM.
Зато удобно чо, и «кода меньше (с)» 😕
Ivan
Ясно, ок
Sergey Mitrofanov
Инжект через конструкторы онли?
Через сеттеры в сиключительных случаях. А инжект в в поля - это и вовсе говнокод от лени. Как минимум потому что инкапсуляцию нарушает.
Sergey Mitrofanov
Уже кончился )))
Глеб
Блиин, я опоздал по-ходу да вот.... ччерт
Konstantin
webview медленный
Igor
Теорема эскобара:
- на rn придется писать на жс (все вакансии заняты фронтенд-макаками)
- на flutter воообще нет работы
Глеб
Красаучик! 👍
На самом деле, в конечном счёте насрать
"из чего компилился dex, завёрнутый в эту apk" - если оно работает гладко и стабильно.
А самый пиздатый, удобный и читаемый код.... 🤔.....это конечно же - мой(твой/свой) собственный код.
Всё остальное - "вынужденное лицемерие" 😄👍
Михаил 🇺🇦
Konstantin
лучше, но есть целый ряд заказчиков которых интересует кросплатформенная разработка, их достаточно много.
Михаил 🇺🇦
Михаил 🇺🇦
Глеб
лучше, но есть целый ряд заказчиков которых интересует кросплатформенная разработка, их достаточно много.
++ Их очень много, особенно если к ним прибавить тех кто сам этого не осознаёт, но "гонит" андроид-разработчиков в сроки "как в IOS" и "дизайн как в IOS"
Я с некоторого времени даже очень зажелал, чтобы кросс-платформ достиг достаточно хорошего уровня
.....чтобы "всех неуверенных и сомневающихся" - отправлять туда - "в презентэйшн слой".
Тем самым - отсеяв "истинно желающих и готовых" на "чистый андроид/ios, платформ-таргетированый"
Михаил 🇺🇦
Pavel
Добрый вечер! При запуске юнит тестов в проекте вылетает ошибка
JUnit version 3.8 or later expected,
java.lang.RuntimeException: Stub!
. Если убрать несколько зависимостей в build.gradle то ошибки нет. Мультидекс включен. Гуглил эту ошибку, переробывал все варианты - не помогло. Похоже это связано как-то с мультидекс, т.к. если убрать несколько зависимостей в build.grale то все ок. Может кто-нибудь сталкивался с такой проблемой ?)
Sergey Mitrofanov
François Leclercq
Привет всем. Поделитесь примером реализации IntentService + RxJava + Retrofit. Чот ничего внятного нагуглить не могу.
John
Ребят кому не сложно подскажите пожалуйста ошибку.
Есть observable который устанавливает websocket соединение. Когда я вызываю метод dispose(). Хочу чтобы в Observable где устанавливаю соединение вызывался метод doOnDispose{} там я закрываю соединение. Проблема в том что когда я вызываю dispose() в doOnDispose{} я не попадаю и observer продолжает получать сообщения в onNext(t: Data). Вот гист
https://gist.github.com/Nakulov/b01b2e02b83edb2f4b5799a597ad6506
Andrey
Позвольте нубовский вопрос граждане разработчики
JRoot3D
Глеб
Danil
ну можно сделать обертку над BroadcastReceiver’ом с RxJava)
Danil
и как-то связать это с интент сервисом
Maryna
А это не оверинджениринг?)
Mike
Зачем вы пытаетесь интепрпетировать набор слов?
François Leclercq
Глеб
Сервис повышает приоритет процесса в бекграунде, с меньшей вероятностью андроид его убьет. RxJava дает асинхронность, поэтому я бы делал обычный service (или foreground) + rxjava, но не intentservice
"Сервис повышает приоритет процесса в бекграунде, с меньшей вероятностью андроид его убьет."
- Это наверное всё будет корректно при условии:
a) fg-mode и б) android:process=":service"
и при таком раскладе RrxJava - останется "зажатая" внутри сервиса (ибо Observable != parcelable, да и в целом ipc- там тупо нет)
И в таком случае, уже достаточно сомнительны профиты rx-а в сервисе.
Более, того сервис - как правило - это тупой линейный command processor, который по завершению - должен быть остановлен (в идеале).
Очень сомнительна - становится в данном контексте идея "наблюдателя" впринципе. Observable, который по факту - just или single или как он там называется one-shot, короче - ну... так себе.
По многопоточности в данном случае IntentService уже имеет WorkerThread из коробки.... и как бы - берём и пишем - берём и пишем - и ничего over - не надо))
так что.... не знаю ... не знаю🤔
Глеб
И как в сервисе это дело реализовать?
В handleIntent - сходить в сеть - синхронно,
получить результат - и делать с ним что и хотел делать
То есть - по всем канонам IntentService (уже не помню - в доках 100% про это есть с примерами)
Konstantin
Mike
Mike