Nikita
ну это типа какой то там прямоугольник на скорую руку взял
Так суть твоей задачи как раз эти значения расчитать. Сейчас попробую набросать
MobileDev
Всем привет. Искал но точного ответа не нашел.Если я буду использовать Picasso он автоматом будет кэштровать или нужно вручную,или как бы советовали бы кэштровать изображения
Ruslan
ну это типа какой то там прямоугольник на скорую руку взял
можно это все сделать в методе getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) там сразу получить у parent позицию, проверить ее и установить rect нужный
Ruslan
Там только офсеты поставить можно, а ему в этот офсет еще и нарисовать что-то нужно
ок, почему-то подумал, что надо просто разделитель сделать)
Vadim
Там только офсеты поставить можно, а ему в этот офсет еще и нарисовать что-то нужно
ну когда добавлял в качестве нового хэдэра, то рисовал так <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/dp_20" android:background="@color/gray_extra_light" />
Vega
Ребят, подскажите пожалуйта Есть приложения с мин АПИ 16 хочу поднять до 21. Что произойдет с пользователями до 21? Новые пользователи с версией апи меньше 21 не смогут найти в сторе мое приложения, а уже существующие пользователи????
Nick
ну когда добавлял в качестве нового хэдэра, то рисовал так <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/dp_20" android:background="@color/gray_extra_light" />
Крч, если тебе не нужны будут анимации свайпа, можешь сделать два вьютайпа для ресайклера, один обычный, другой с нужной тебе нарисованной фигнёй переопределить метод ресайклера getItemViewType, и onCreateViewholder
Vega
Ребят, подскажите пожалуйта Есть приложения с мин АПИ 16 хочу поднять до 21. Что произойдет с пользователями до 21? Новые пользователи с версией апи меньше 21 не смогут найти в сторе мое приложения, а уже существующие пользователи????
в этом чатике мне как-то кто-то говорил, что все существующие юзеры имеющие версию до 21 смог обновить приложение до последней актуальной версии, а новые юзеры до 21 смогут скачать последнюю опубликованную версию, в которой мин сдк был 16 НО на деле похоже что оказлось что новые юзеры вообще не могут найти в сторе приложение, а старые не могут обновиться
Nikita
ну это типа какой то там прямоугольник на скорую руку взял
Как то так https://gist.github.com/ussernamenikita/fbdb0bb060d30fd6c0c1f777d3f8a978
Ruslan
Как то так https://gist.github.com/ussernamenikita/fbdb0bb060d30fd6c0c1f777d3f8a978
норм, только private val rectHeight = 20 это ж в пикселях будет выставляться. для разных плотностей будет по-разному выглядеть.
Nikita
норм, только private val rectHeight = 20 это ж в пикселях будет выставляться. для разных плотностей будет по-разному выглядеть.
Да, согласен, просто не стал запариваться. По хорошему лучше из ресурсов тянуть
Ivan
привет народ кто делал поддержку нескольких языков в приложении ? посдкажи как поддерживать устаревишие версии OS ? написал класс где вроде все добавил на Android 6.0 всё гуд, а вот на версиях ниже - ничего не происходит вообще
Albert
Привет. Как распарсить ответ от апишки ,если поле может быть, либо массивом, либо кастомным объектом? Ожидать Object?
Vladimir
ребята почему иконка в многозадачности над окном приложения отсутствует, в то время как в меню приложений или в настройках например она на месте?
Albert
retrofit 2 используй
я его и использую
Ruslan
а как лучше сделать?
если такое значение одно будет - можно в конструктор его передавать (завести в ресурсах в dimens нужный размер в dp, и через ресурсы получать его в пикселях). если несколько - можно в конструктор отдавать ресурсы и в конструкторе их инициализировать. а можно у ресайклера получать контекст, у контекста ресурсы и оттуда доставать. но это так себе вариант)
Vyacheslav
Ребят вопрос такой есть MediaView, внутри этого объекта тяжелый видос, как или какой либой его можно сжать, ктонибудь сталкивался ? UI не тянет такое тяжелое видео
Ruslan
Тогда в таком случае значение будет сетаться не в пикселях, а в dp?
я там дополнил ответ. да, если завести в ресурсах размер в dp и получать его с помощью getResources().getDimensionPixelSize(R.dimens.your_dimen) то для разных плотностей пиксели будут разные
ᴀɴᴅʀᴇʏ
Ок, спасибо
Kirill
Подскажите, что "тяжелее" поиск в бд по 2м id, если не находит то добавляет запись, или обновление всех записей с добавлением новых?
Kirill
смысл такой, приходит 20 новых сообщений с сервера, мне их надо записать в БД
Vadim
Как то так https://gist.github.com/ussernamenikita/fbdb0bb060d30fd6c0c1f777d3f8a978
чётко отрисовались только почему то черные)) хотя цвет белый
Albert
всем спасибо
Vadim
@nbinik я тебя уже запарил скорей всего) но 0 позиция это это элемент списка) и он рисует её после отрисовки Item'a а мне нужно так раз таки до Item'a в этом случае Dilimiter Item Item Item Delimiter
Vadim
@nbinik с другой стороны конечно я могу просто отступ сделать, с необходимой подкладкой но это план запас))
Nikita
@nbinik я тебя уже запарил скорей всего) но 0 позиция это это элемент списка) и он рисует её после отрисовки Item'a а мне нужно так раз таки до Item'a в этом случае Dilimiter Item Item Item Delimiter
Не запарил но в чем вопрос не понял ? Можно код поменять в двух местах чтобы 1) офсет добавлялся сверху а не снизу(метод getItemOffsets) 2) чтобы рисовалось сверху элемента а не снизу (в методе onDraw)
O Father O Satan
Привет! У меня есть вопрос. У меня есть MainActivity в которой обсёрвится ViewModel. Есть сервис в котором есть проверка связи с оборудованием. Как можно обновить ViewModel из IntentService? Всем спасибо)
Vadim
@nbinik понял) разобрался)
Vadim
@nbinik спасибо большое)
Nikita
Не за что )
O Father O Satan
Хм. 🤔 Ну это явно лучше чем в SharedPreferences писать xD
Vadim
Не за что )
а переменные dividerStart/dividerEnd здесь всё таки какую роль играют?
Nikita
а переменные dividerStart/dividerEnd здесь всё таки какую роль играют?
Левая и правые края вьюхи/разделителя, чтоб за края не нарисовалось
Vadim
Левая и правые края вьюхи/разделителя, чтоб за края не нарисовалось
но сам devider же здесь не рисутеся, а я так полагю идея была в этом?
Vadim
ну то есть Delimiter рисуется без divider'a
Nikita
но сам devider же здесь не рисутеся, а я так полагю идея была в этом?
Рисуется методом c.drawRect(startX, startY, endX, endY, paint)
Nikita
ну то есть Delimiter рисуется без divider'a
Я всегда думал что это одно и тоже
Vadim
Я всегда думал что это одно и тоже
ой да) для меня divider просто это всегда было линией разделителем)
Ivan
кто делал поддержку нескольких языков в приложении ? посдкажи как поддерживать устаревишие версии OS ? написал класс где вроде все добавил на Android 7.0 и выше всё гуд, а вот на версиях ниже - ничего не происходит вообще
Kirill
Подскажите, что "тяжелее" поиск в бд по 2м id, если не находит то добавляет запись, или обновление всех записей с добавлением новых? смысл такой, приходит 20 новых сообщений с сервера, мне их надо записать в БД.. вот думаю как экономичнее сделать
Eric
Сделать апдейт маркер что бы приходили только новые, не?
Eric
Маркер = Дата или айди последнего обновления. А можно on conflict ignore
Kirill
Сделать апдейт маркер что бы приходили только новые, не?
так на сервере не сделано) там просто прошу n сообщений.. а дальше все в моих руках)
Eric
Но если пользователь может менять сообщения, то игнор не прокатит.
Kirill
понятно, что добавлять не все подряд. а только новые сообщения как раз вопрос в том, как сильно "жрет" поиск в БД
Eric
так на сервере не сделано) там просто прошу n сообщений.. а дальше все в моих руках)
Надо пинать разработчиков сервера. Костыли на стороне приложения ничем хорошим не заканчиваются. Я писал чат без апдейт маркера. Все было хорошо на первой тысяче сообщений. Но при 100000 была печаль печальная :)
Eric
не пока без изменений)
Но не факт что такой чейнж реквест не прийдет, да!?)))
Kirill
просто мне тут посоветовали, "Зачем ты ищещь по БД и добавляешь отсутствующее, если можно просто сделать UPDATE всего и это менее ресурсозатратно"
DarkPerl
Вы когда добавлять будете, вам же все равно вернется ответ от базы ) Если добавлена запись, значит ок, если не добавлена, значит там уже есть запись с таким id
Eric
В общем, пишите в базу все, с флагом on conflict replase
Eric
Если чы тянете за раз не всю базу будет ок.
Kirill
Базу можно не всю просить?😨
Eric
Хотя решение так себе :) Постоянно переписывать всю базу.
Kirill
что-то не понимаю)))
Eric
Базу можно не всю просить?😨
У оракла курсор подгружается постепенно. Работает клево, но колво записей не посмотришь пока все не загрузишь :)
DarkPerl
Пишите асинхронно в базу порциями и все будет норм )
Kirill
я roomом пользуюсь)
DarkPerl
Это не суть важно )
Eric
OnConflictIgnore решит вашу проблему.
Dmytro
Кнопка опубликовать горит серым, в чем может быть проблема?
Kirill
OnConflictIgnore решит вашу проблему.
спасибо, пошел гуглить)
Eric
Но возможны проблемы в следующих версиях.
Eric
спасибо, пошел гуглить)
Далеко ходить не надо, пример есть в семплах студии. Room + RxJava, например.