Ilya
забей на rx
Почему?
Denis
а зачем он нужен? котлин все тоже самое могут при этом проще. Если нужны сабджекты то это та же livedata по смыслу
Denis
котлин + корутины имею в виду
Denis
на крупных проектах, основанных на rx получаются гигантские конструкции в которых новички команды по пол-года разбираются. щас rx в нормальных конторах легаси считается
Denis_LL
Актуальны ли сейчас книги по андроид или нужно чисто на создании проектов учиться?
Denis
та хз, книги никогда не помешают наверно
Denis
Я б тебе советовал просто на работу устроиться куда-нибудь, там хочешь не хочешь научишься)
Starikov
Я б тебе советовал просто на работу устроиться куда-нибудь, там хочешь не хочешь научишься)
Тоже неплохо, но если человек полный ноль, кто его возьмёт то)
Kozimjon
ребят, только изучаю rxjava (+kotlin) - потому вопрос из простых - внутри презентера идет запрос - справа на чистом ретрофите с его CallBack (здесь все отлично отрабатывается - без всяких ошибок), слева на RxJava (метод возвращает Single, не Observable) - выкидавает ошибку. Посморите пожалуйста. P.S.: сам думаю что надо добавить строчку .observeOn(AndroidSchedulers.mainThread()) - но IDE ругается
Kozimjon
вы в ретрофите не зарегистрировали call adapter для Rx
.addCallAdapterFactory(RxJava2CallAdapterFactory.create()) ? сейчас проверю
Илья
Ребята вопросик 🙂 Может ли пользователь оценивать приложение в самом приложение или только в google play ? Если может ставить оценки в приложение то можно ли отправять оценик от 4-5 в google play , а ниже не отправлять ? (https://github.com/emichaux/smart-app-rate) использую библиотеку для оценок, но пока не понять можно ли делать так как хочу а именно : - фильтровать отзывы - отсылать отзывы не входя в google play
Kozimjon
вы в ретрофите не зарегистрировали call adapter для Rx
спасибо))) эту проблему решил. Теперь что-то не то с потоками, ща буду теперь там копаться
The The
>Если может ставить оценки в приложение то можно ли отправять оценик от 4-5 в google play , а ниже не отправлять ? неплохой план
Ekaterina
Он меняет цвет ошибки и лейбла вместе. А как оставить цвет ошибки красный, а лейбл другим цветом?
в связке editText+TextInputLayout никак. До какой-то там версии support библиотеки еще можно было через рефлексию попробовать, но сейчас так не работает. Вариантов два: или объяснить дизайнерам, что это невозможно, или писать кастомный компонент
Даниил
Уже в исходниках разобрался)
Alex Android
Лол, если lazy val задебажить в дебаггере, то брейкпоинт в нём не сработает
Alex Android
Всё ок, просто нюанс
Fagor
ниже не отправлять от имени юзера в гугл плей с телефона - это уже нарушение, если вы говорите что это гугл плей. Не только маркетинг, дизайн, код, помните про бизнес в целом. Так что либо писать кастом сервер где вы их агрегируете и с согласия юзера от его имени отсылаете. Вот тогда можно ранжировать. Что отправлять. Обязательно с согласия и оповещения.
The The
Всё ок, просто нюанс
lazy это ведь переменная, которая инциализируется по необходимости только, ведь так? вот дебаг на нее и не попадает
Lolus
Кусок кода со стаковерфлоу. Тут описан способ как можно обновлять токен через okhttp3.Interceptor. Меня смущает код в ветке else от if(lock.tryLock()). Там в комменте парень пишет что lock.unlock() вызовет поток, который обновлял токен... Но следом строкой ниже он сам дёргает lock.unlock()... Есть знатоки, которые пояснят почему так?
Vladimir
всем привет) какую либу может знаете что бы получить картинку с авторизацией у Api, другими словами что бы выполнить запрос с Хэдером?
Vladimir
заранее спасибо
Кирилл
У меня такой вопрос: собираюсь начать работать с http (до этого всегда юзал tcp и udp), какую либу лучше выбрать: ktor, retrofit, okhttp? Мне пока что больше всего нравится ktor, но ретрофит вроде как стандартом считается, мб стоит затащить?
Andrew
всем привет) какую либу может знаете что бы получить картинку с авторизацией у Api, другими словами что бы выполнить запрос с Хэдером?
GlideUrl imgUrl = new GlideUrl(newUrl, new LazyHeaders.Builder(). addHeader("Host", "foo.bar") .build()); Glide.with(this).load(imgUrl).into(profilePhoto);
Vladimir
спасибо)
The The
слушайте, существует какой-то красивый способ обойти это, кроме как помечать весь метод как supresswarning
The The
а то даже с проверкой сдк, все равно ругается что депрекатед метод
The The
вроде нет
вот не понимаю, в чем логика помечать метод как депрекатед, а новый будет требовать более высокую версию сдк. кстати, в котлине походу все равно на SuppressWarnings, все равно компилятор будет ругаться, хех
Rus
import android.support.v7.app.AppCompatActivity; Когда потыюсь импортировать выдает ошибку на v7 кто нибудь может подсказать почему?
Rus
а точное название библиотеки можешь скинуть
Denis
Кусок кода со стаковерфлоу. Тут описан способ как можно обновлять токен через okhttp3.Interceptor. Меня смущает код в ветке else от if(lock.tryLock()). Там в комменте парень пишет что lock.unlock() вызовет поток, который обновлял токен... Но следом строкой ниже он сам дёргает lock.unlock()... Есть знатоки, которые пояснят почему так?
Самый первый поток, который захватит лок, обновит токен. Если в это время придут другие потоки, они пойдут в else наткнутся на lock.lock() и будут ждать пока токен не обновится. Как только токен обновится, сработает unlock в finally и ожидающие потоки продолжат кидать запросы, но уже с новым токеном. Вроде все правильно.
Max
Хочу чтоб служба и main activity друг другу кидали сообщения через интенты, у обоих должен быть свой broadcastreceiver?
The The
ContextCompat.getColor
ну да, но есть и другие случаи, это просто конкретный пример попался, что в случае депрекатед, красивого решения нема
Denis
Хочу чтоб служба и main activity друг другу кидали сообщения через интенты, у обоих должен быть свой broadcastreceiver?
У обоих по идее, но я бы лучше receiver только для активити сделал. А сервис перезапускал с новым интентом. то на то и выйдет, но чуть меньше кода получится
The The
Какие другие случаи?
Vibrator.vibrate например
Denis
Ты уверен, что перезапускать сервис - хорошая идея?
да не боись) oncreate один раз вызывается, потом когда перезапускаешь только onStartCommand вызывается, там в аргументах будет твой интент
Max
А можно ресивер юзать на активити и на сервис сразу? Только один
Denis
конечно можно, если ты в нем че-то простое делаешь, и не нужны переменные сервиса и активити
Denis
но вот эта с перезапуском точно рабочая схема, только в onStartCommand на null проверяй интент, бывает что система сама вызывает сервис с пустым интентом зачем-то
Denis
т.е. даже если c redeliver_intent запускаешь, все равно null может прийти
Sergey
Вопрос. Можно ли менять visibility у View. Когда приложение свернуто?
Дмитрий
Вопрос. Можно ли менять visibility у View. Когда приложение свернуто?
Встречнй вопрос на подумать. Что со вьюхой происходит когда сворачивается приложение?
Denis
если onDestroy не вызывался, то можно
Sergey
Ничего, просто у нас в приложении у View есть свой жизненный цикл, построенный на visibility. В зависимости от того добавлена или показана View, Presenter подписывается на обновления (все сделано на Rx). Так вот на Pixel есть подозрение, что setVisibility не отрабатывает когда приложение в фоне. Просто при отключении интернета прячется одна view и показывается другая. И если отключить интернет в фоне а потом включить setVisibility вызывается, но ничего не происходит.
Sergey
Явно нигде не указано, что нельзя вызывать setVisibility когда приложение в фоне, вот мне и интересно, это нормально, что оно так работает, просто на Samsung S8, S9, S10 такой проблемы вообще нет
Кирилл
да что нравится, то и используй, тут же чисто вкусовщина
Ага, ток переживаю на счёт того, что меня с моим модным стеком потом ни на одну работу не возьмут.👽
Сергій
синкай состояние UI где-то в onResume или onStart
Denis
Аргументы?)
ktor с ретрофит некорректно сравнивать по идее. В ретрофит можно аннотациями всю апишку как сервис представить, в этом его смысл. А ктор просто httpclient с корутинами
Nick
Помогите плиз
Я подозреваю что вся верхняя часть, это какой-то а-ля collapsingtoolbar, который просто скрывается по мере скролла
Denis
Всем привет. Подскажите, плз, как открыть это окно на винде? судя по всему, это структура xml файлика
Denis
Mike
Это же плагин, наверное?
Denis
Это же плагин, наверное?
да, это этот плагин https://plugins.jetbrains.com/plugin/12012-android-butterknife-injections-support-kotlin-. Но я подумал, что это окно есть по дефолту, просто добавляются необходимые плагином поля 🤔
Himars
Привет Подскажите Как лучше всего выполнить несколько асинхронных задач в паралель и дождаться всех результатов без рх и корутин?
Denis
точно, нашёл. Пкм по лайауту в фрагменте/активити. Спасибо)