Vitaly
А если подробнее?
Vitaly
Тупо поставить placeholder(true) не выход
Vitaly
но это очень не эффективно, и чем больше прилаг - тем больше шанс положить сервак
Именно поэтому надо либо увеличивать мощность сервера, либо менять код
Alex
Именно поэтому надо либо увеличивать мощность сервера, либо менять код
да, вот рассматриваю вариант использования очереди, может кто уже так делает и может сказать что-то
Alex
по-сути - обычное tcp соединение, вроде как под капотом у пушей то же самое
Vitaly
Подскажите как работать с PagingLibrary в связке с запросами в сеть? Как можно установить какой-нибудь placeholder в адапетере, а при загрузки данных уведомить item, что загрузка завершилась и подменить данные? Использую PageKeyedDataSource
Oleksandr 🦦
Ребят, когда-то встречал язык программирования. Логотип с ящерицой. Кто знает как называется?
Oleksandr 🦦
спасибо большое)
Vitaly
Boundary callback и при сборе пейджед листа можно включить плейсхолдеры
BoundaryCallback скорее всего вместе с базой данных используется или без неё тоже можно?
Sviat
BoundaryCallback скорее всего вместе с базой данных используется или без неё тоже можно?
С ней. Если хотите работать чисто с сетью, то есть примеры от Гугла и статьи на медиуме. Погуглите в стиле retrofit + paging library
Aleksandr
Всем привет. Подскажите, кто-нибудь сталкивался с обрезкой видео в своем приложении? Нашел библиотеку для этого, однако она поддерживает только mp4. Webp и прочее — не хочет. Может кто знает способ более универсальный? ffmpeg также не подходит, раньше породил много багов, из-за чего от него отказались
Ilgiz
Кто-нибудь подскажет если метод изменения начальной позиции спиннера? Например чтобы брал значение не с нулевого индекса массива, а с первого
Aleksandr
🤔 вам принципально это делать в вашем аппе? скажем если это например перепоручить стоковому аппу (startActivityForResult)
Да) Если мы возьмем мессенджер или соц.сеть, то там есть возможность порезки видео
Aleksandr
Мне нужно примерно так же
Aleksandr
А какие именно проблемы с ffmpeg?
Фризы, отставания аудио от видеоряда
Павло
Странно немного, у нас с ним как раз проблем нету. Хоть и работы с видео полно
Глеб
Да) Если мы возьмем мессенджер или соц.сеть, то там есть возможность порезки видео
Ну ... ок... если исходить из ручного подхода, разница в трудозатратах в прямом смысле будет в десятки раз. Если с либой - оправдано будет только если: - либа не содержит native.so's (либо микро-размер и support всех abi's) - либа простая в использовании но производительная и... это всё не отменяет необходимость собственного ui c ползунками и прочим
Глеб
Странно немного, у нас с ним как раз проблем нету. Хоть и работы с видео полно
жесть... У нас был - громоздкость неповоротливость и скорость убила сначала меня, потом через месяц юзеров - потом руководство... заапрувили ручную реализацию - потратили 2 недели итого: оверхеда порядка пары сотен методов, пары десятков кб, никакого нэтива, конвертация - прямо в майнпотоке, без лагов
Глеб
ui уже есть. Микроразмер… В целом, Google Play может выбрать нужный из файлов. Надо, конечно, смотреть на увеличение размера, но если оно не десятки мегабайт, то это не критично
🤔 ну ... ок... будет любопытно знать - как полёт... в реальном проде. От себя могу только предложить roadmap по ручной реализации) Вы так же можете взять - ваш мессенджер-вдохновитель и посмотреть что использует он.
Глеб
не проверял - но 100500%
Aleksandr
не проверял - но 100500%
Так и есть) я просто подумал, что вдруг есть у кого либы для этого
Глеб
У телеграма - потому и всё пиздато, что "голыми руками" написан. Это надо всегда помнить, вдохновляясь им)) Либо на него не ориентироваться)
AspiD
Приветствую. натолкнулся на странный код. где все вьюхи в фрагменте биндятся как WeakReference, а в onDestroy ещё и указатель на слабую ссылку обнуляет. в этом есть какой-то глубокий смысл?
AspiD
без слабой ссылки отдельный разговор
Alex
а зачем анбинд делать? Оо
Глеб
Приветствую. натолкнулся на странный код. где все вьюхи в фрагменте биндятся как WeakReference, а в onDestroy ещё и указатель на слабую ссылку обнуляет. в этом есть какой-то глубокий смысл?
а он не в курсе что если уик - единственное что держит вью на фрагменте, то, будучи свернутым, например, по нему может пройтись безпрепятсвенно гц-шник (ДО onDestroy-а) и по возврату ссылочки то можно и не досчитаться)) 😁
Глеб
тем более в обнулении смысла вообще ноль, уик - это типа (опциональное пожелание иметь доступ к объекту). Типа он у меня есть, но не так важен, если гц-шник заберёт, то пусть забирает и хрен с ним, поживём с null)))
AspiD
это только для фрагментов актуально, потому что фрагмент может остаться жив после onDesroyView
AspiD
тем более в обнулении смысла вообще ноль, уик - это типа (опциональное пожелание иметь доступ к объекту). Типа он у меня есть, но не так важен, если гц-шник заберёт, то пусть забирает и хрен с ним, поживём с null)))
да, с формулировкой согласен =) тем более, что там ещё и обёрнуто в делегат котлиновский, и в случае, если ссылки нет, то кинет NPE, который, как бы, обрабатывать и некому
Vadim
Как бы вы разрабатывали такой экран? Кастомный progressbar сделали бы?
AspiD
т.е. только фрагмент может память держать?
https://github.com/JakeWharton/butterknife/issues/879
Глеб
да, с формулировкой согласен =) тем более, что там ещё и обёрнуто в делегат котлиновский, и в случае, если ссылки нет, то кинет NPE, который, как бы, обрабатывать и некому
В AOSP порой на weak-и натыкался - но все кейсы как правило - внешние колбэки для уведомления кого-то извне о чём-то. Колбэк отвалился - ну и фиг с ним.
Alex
AspiD вот, например, у меня ViewPager. У него 3 фрагмента, я заметил, что 3я вкладка загружается как только я на вторую захожу(вызывается onCreateView), и выгружается, когда на первую. вопрос, зачем дёргать анбинд, если вьюшка сама по себе пропадает, фрагмент дестроится же, значит ссылки нет, отработает гц. Или нет?
Глеб
Как бы вы разрабатывали такой экран? Кастомный progressbar сделали бы?
Ну самое главное - чтобы эти прогресы были статичные))) Это единственное что может напугать.... "Хотим скролиться и отслеживать изменяемый прогресс на каждом айтеме"
AspiD
AspiD вот, например, у меня ViewPager. У него 3 фрагмента, я заметил, что 3я вкладка загружается как только я на вторую захожу(вызывается onCreateView), и выгружается, когда на первую. вопрос, зачем дёргать анбинд, если вьюшка сама по себе пропадает, фрагмент дестроится же, значит ссылки нет, отработает гц. Или нет?
глянь жизненный цикл фрагмента, там будет переход из onDestroyView в onCreateView, то есть, если у тебя где-то биндилась вьюха, которую ты не перезапишешь в onCreateView, то ссылка будет не null, но и не туда, куда ожидается
Anonymous
Ребят как вывести название папок и файлов в sdcard?
Anonymous
String fileName = Environment.getDataDirectory().toString(); File f = new File(fileName); f.mkdirs(); File[] files = f.listFiles(); for(int i=0;i<files.length;i++){ System.out.println(files[i]); }
AspiD
а что значит "не туда" ? так мы же биндимся в методе onCreateView, т.е. всё будет так как должно.. мб туплю, но подвоха не вижу
если перезапишем, то хорошо. подвох будет, если по какой-то причине не перезапишем =)
Anonymous
мне нужно сюда попасть
AspiD
Ошибку выдает
а какую и на какой строке угадываем? =))
Alex
если перезапишем, то хорошо. подвох будет, если по какой-то причине не перезапишем =)
не знаю как у других, но у меня в методе создания вызывается .bind(this, view); т.е. при каждом создании представления идёт бинд.
Глеб
Ну да этот прогресс статичен… Только незнаю как подобраться к этой вьюхе
1. Сначала закостомайзить темы-стили обычному прогрессбару, там есть у них seekable drawable-нижний / верхний и тд т.е добиться нужного бг-вида, так же отладить elevation (с outline-provider) 2. Переопределить стандартный прогресс бар, в том смыле, что добавить текст - функциональность с помощью TextLayout двух прижимный (лево-право) 3. Связать значение текста с числом-ползунка
AspiD
не знаю как у других, но у меня в методе создания вызывается .bind(this, view); т.е. при каждом создании представления идёт бинд.
ну и +, сборщик не сможет до вызова onCreateView уничтожить старые, что, как бы, стрёмно
Anonymous
Caused by: java.lang.NullPointerException: Attempt to get length of null array at w.com.myapplication.MainActivity.onCreate(MainActivity.java:22)
Глеб
спасибо, теперь в бой:)
Пожалуйста! можешь погуглить прям здесь в чате "TwoAlignTextView" - в августе была переписка, я кое что скидывал.... будет хорошим подспорьем 👍
Anonymous
pomogite plees ne mogu ponyat pochemu sdcard ne vidit
AspiD
Caused by: java.lang.NullPointerException: Attempt to get length of null array at w.com.myapplication.MainActivity.onCreate(MainActivity.java:22)
Returns * {@code null} if this abstract pathname does not denote a * directory, or if an I/O error occurs.
Alex
pomogite plees ne mogu ponyat pochemu sdcard ne vidit
похоже, на эльфийском
Глеб
спасибо, теперь в бой:)
Там за основу взят TextView, но если внимательно посмотреть увидишь что эта начинка "BoringLayout" - может спокойна перенесена в твой кастом прогрессбар-класс, как оверdraw над его super() - поведением
Anonymous
что не так ребят?
AspiD
что не так ребят?
права доступа есть? <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Anonymous
да
AspiD
а в настройках приложения?
Anonymous
все решил проблему
Anonymous
спаисбо
Anonymous
запрашивал права при установке приложения
Anonymous
android permission ne srabotal
AspiD
android permission ne srabotal
RxPermissions наше всё
Artem
Ребята что за ошибка? Гугл не знает о такой
Anonymous
Не помню как решил😅
Mike
Ребята что за ошибка? Гугл не знает о такой
Ну, апостро́ф заэкранировать
Roman
Прям написано жэ
Roman
Красным по черному