← All posts tagged dev

lex2d
dev Android Там с первого мая нас покинут jcenter c bintray. Оно в основном любимо было некоторыми либками для андроида, посему не думаю что сильно что-то затронет, но вроде какой-то опенсорс какие-то бинарники и архивы через бинтрей распространял, ибо помню что с него что-то качалось, но вот что — не помню.
jfrog.com
lex2d
dev juick_ppl Уровень экспертизы Виталика я оценил, еще когда не осилил найти где что-то в го коде имплементировано (оно емнип в соседнем файлике лежало) и на основание сего нашел язык крастноглазым.

Нынче juick.com Виталя не смог почитать откуда и для чего есть KotlinNullPointerException.

Спойлер: основной поставщик сего — когда твои/компилятора предположения о том как работает джава код, с которым ты взаимодействуешь из котлина, оказываются не верны. И на сим месте все сводиться к более строгой обработке платформенного типа.
lex2d
· Edited
dev Android Небольшой боянистый плач ярославны...

Подходит время, когда fabric/crashlitics купленый гулом превратиться в тыкву и останется только firebase crashlitics на который надо мигрировать. И, святая дискета, насколько же у них всратая дашборда, сделанная без малейшего понимания для чего ее используют. Хотя казалось бы бери и скопируй с купленой тобой, раз уж ее нормально сделали .

Вот например последние релизы. В фабрике тебя встречала картинка как пользователи обновляются, сидящих на старых билдах становилось меньше, на новых больше, что и показывал график в динамике. Не так чтоб полезно, но сердце грело. Ну из полезного можно было прямо из этого экрана перейти на креши конкретной версии. В файбейзе просто версия последнего билда написана и сколько на нем юзеров сидит.

Или сам список крешей. У фабрика там был фильтр "top builds" он автоматом пихал туда до трех наиболее используемых пользователями версий. И тебе, кроме этого фильтра, довольно редко что-то было надо. Он обновлялся без твоего участия в зависимости от инфы с последних релизов и ты видел актуальную картину происходящего. Теперь же у тебя список версий включая все тестовые и предрелизые сборки — выбери нужные сам. Но ты можешь найти нужные версии где-нибудь, в файбейзе только последний билд указан и накостылить себе фильтр руками. Потом не забывать его обновлять.

Короче, гугл — верни стену...
lex2d
dev Android Я тут весьма сомневался, но почитал доки и осталось подождать полгодика и подвезут фикс для ConcurrentHashMap из прошлого поста.
Java 8 library desugaring in D8 and R8: ConcurrentHashMap (with bug fixes for Android 5.0)
developer.android.com

Прям линукс напоминает. Там тоже все фиксят примерно к тому моменту, когда все прекращают это использовать. На редите уже часто говорят что выкидывают сапорт ведра 5 из проектов)
lex2d
DART dev kotlin Решил тут для разнообразия Flutter потыкать и для начала решил ознакомиться с dart.

Забавно, если бы переходил на него с джавы, то впечатления были бы совершенно другие) Но я переходил с котлина. И первое впечатление было, блин ну почему вы не могли взять и котлиновских фич потырить раз уж в своем гугле решили котлин-ферст и вот все это.

Я прям не ожидал такой бурной реакции организма, на отсутствие дата классов, не считал их главной фичей котлина, а как оказалось, прям зубы заскрипели от предчувствия, что опять надо херней страдать. Хотя дарт до екстеншинов почти дожил, может и до иммутабельных дата классов в доживет, для которых не надо километры кода писать.

По итогу: ко всему можно привыкнуть, но восторга не вызвало совершенно.
lex2d
dev Android Люблю ведро за заботливо разложенные грабли

"Basically, Android's ConcurrentHashMap in API level 21 / 22 multithreaded put(), putIfAbsent(), putAll(), ... operations can fail to add a key/value pair if there are hash collisions on the added keys and the underlying datastructure needs to be resized at the time of the concurrent puts.

This is no wonder since Android API 21/22 uses the same CHM implementation that was used until OpenJDK 8 ea b120 (where the bug was fixed)."
issuetracker.google.com
lex2d
dev Android Потыкал в бете андроид студии apply changes, который заменит instant run. Тест был простой: небольшие изменения в лайаутах,, типа текста или отступов, чтоб посмотреть как быстро оно будет изменения ресурсов применять.

В общем, оно не работает)) Только instant run иногда все же подтягивал изменения, то новая хрень стабильно не подтягивает их никогда. В общем, гугл как всегда, а полная перекомпеляция апк наше все. Из плюсов, отключать новую фичу не надо, она не добавляет к коду ничего и обычный билд не замедляет.
lex2d
Java боян dev решето Android В общем, jcenter показал, что там про секурити думали не очень и ныне рекомендуется в гредле прописывать jcenter() последним и юзать mavenCentral(). Основная неудобство, что jcenter() идет по умолчанию в в шаблоне новосозданного андроид проекта.
blog.autsoft.hu
lex2d
dev Android Маловероятная такая ситуация для СНГ какого-нить. Разработчики недовольные политикой гугл-маркета, собрались, организовались, выработали планчик и начали действовать. Даж привлекая правительство. Надо будет проследить за развитием событий.
reddit.com
lex2d
dev Android Сегодня с удивлением обнаружил, что в апи 26(8.0) сломали перенос текста. На скрине слева 27 апи справа 26. В гугле не тестят ведро от слова совсем.

lex2d
dev eng ? Что за PSA ? А то начали писать типа "PSA: Bug with ... " А гугление аббревиатуры выдает кучу всяких нерелевантных значений.
lex2d
dev Android Как-то я нашел время и разобрался с дагером 2. Применял его потихоньку. А потом полез посмотреть, как в новых примерах гугла его используют. А там версия 2.11 и вагон новых анотаций и подходов, которые я никогда в глаза не видел. В общем, я опять не знаю даггер 2 =(
lex2d
dev Android Гугл наконец набрался смелости написать, как надо разрабатывать под их поделие с его жизненным циклом. 8 лет не прошло.
developer.android.com
И решили навелосипедить DAO.
developer.android.com
Я, конечно, утираю скупые мужские слезы радости текущие по впалым щекам, но раньше было 14 либ для сохранения данных, теперь тут есть 15 либ для сохранения данных...
lex2d
dev Android Выкатили привью ведра О.
android-developers.googleblog.com
Хорошего там много, но из серии не прошло и н лет как...
Запилили java 8 time api — ну лет 5 подождать и оно наше, если в сапорт либы не скинут.

Теперь в хмл можно прописывать шрифты =)

Поправили систему разрешений. Теперь приложение не получит права на запись запрашивая права на чтение. Сильно лучше сия кривулина не стала, но хоть что-то

Ну и порезали еще немного бекграунд процесы для сбережения батарейки. Вероятно заафектит в основном всякие опенсорсные заменители гугл плей апи.

И, как видно, не осиливая починить забытые вейклоки, не дающие уснуть девайсу даже у себя в плейсервисах, ребята решили просто отстреливать их для приложения в состоянии кешед.
lex2d
мысли dev Android Как-то на редите, в комментах к очередному релизу андроид студии с исправлением Intant Run, прочитал схожее с моим мнение.

Хоть гредл мне несколько как-то симпатичней анта, но оно дивно тормозная и прожорливая билд система. И вот появляется в андроид студии Intant Run, который типа должен решить проблему перекуров во время сборки проектов... проблему жора оперативы и нынче решают покупкой еще одного модуля. И понеслось...

Intant Run — типо должен был на горячую заменять только измененный кусок апликухи, что делалось почти мгновенно. Мне не ведомы глубинные проблемы выбранного решения, но оно глючновато по сей день. Я не знаю, кто сией фичей пользуется, ибо у всех оно отрублено, но для меня наличие возможности, что после внесенных тобой исправлений, в некоторых случаях код не обновится и ты как дурак будешь гадать это твой фикс лажовый или ты все еще старый код тестишь, является полным блокером. И самое плохое, что судя по времени сколько они все это фиксят — оно не будет 100% рабочим никогда. И тут всплывает мысль, что по хорошему все ресурсы спущенные впустую на Intant Run, хорошо было бы пустить на замены греда, на что-то быстрое.
lex2d
dev Android Что меня немного бесит в разработке под ведро, так это что прошло 8 лет, а вопрос как жить с пересозданием активности при вращении экрана все еще актуален.