Elvira
ребят, привет! кто-нибудь сталкивался с такой проблемой при загрузке сборки: Вы загрузили APK-файл с недействительной подписью. Ошибка из инструмента apksigner: ERROR: MIN_SIG_SCHEME_FOR_TARGET_SDK_NOT_MET: Target SDK version 30 requires a minimum of signature scheme v2; the APK is not signed with this or a later signature scheme. ?
Elvira
подписывала, не прокатывает
CIDIA
Доброго дня всем. Прошу совета. Мы работаем над проектом которое содержит функционал воспроизведения видеороликов, видеофайлы хранятся на Firebase Storage (все видео примерно 35 мин 2,5гб) При воспроизведении ролики жестко тормозят. Есть какие то видеоплееры с выбором битрейта? Как возможно реализовать воспроизведение больших видео без тормозов?
Dmytro
А я и не говорю, что в джаве было лучше.)
тем не менее критикуешь copy ))
Mike
тем не менее критикуешь copy ))
Да, он занимает место в языке, а толку нет
Dmytro
Да, он занимает место в языке, а толку нет
бывает не всегда хорошие решение, зато сколько хорошего другого есть
Dmytro
Давай как-нибудь без подмены тезиса.)
тебе все равно не угодишь ))
Mike
Андроид Академия, Менторство 👨‍🎓👩‍🎓 Корона или не корона, но мы продолжаем двигаться вперед! В этом году решили сделать полноценный курс с воркшопами 💻 и практическими домашними заданиями ⌨️ Успех студентов во многом зависит от менторов. 👉 Если в тебе 🔥 желание помогать другим расти и воплощать свои карьерные цели, прокачивать свои навыки в Android и участвовать в одной из самых крутых движух Андроид комьюнити, то смело заполняй форму! Менторство - это не только возможность отдавать другим ❤️ Помогая, объясняя, вникая в контекст - мы и сами становимся лучше. 🙇‍♂️ 💪 Mentor's Private Club! Только для менторского клуба: интервью воркшопы, сессии про тим и тех лидерство, разборы рабочих дилемм и многое другое ;) ‼️ Самый главный вопрос - как стать ментором? Нужно успеть заполнить форму до 30.10
Oleg
подписывала, не прокатывает
как вариант обновить студию
Elvira
попробую
Oleg
попробую
ещё это мб поможет https://stackoverflow.com/a/63631288
Oleg
Выбрать обе версии подписи
Elvira
ещё это мб поможет https://stackoverflow.com/a/63631288
да, видела это, пробовала, тоже не помогло
Oleg
Bundle Тоже не помогло?
Oleg
да, видела это, пробовала, тоже не помогло
ну и гугл требует пока 29, мб выложить с ним и потом станет яснее, в чём проблема
Ksenia
hls в помощь + aws
там тормоза могут быть на любом этапе... хранилище отдает долго, на клиенте интернет хуже 3g, клиенту не нравится конкретный профиль трансодирования. Сравнить качество сигнала в vlc на компе с плеером в устройстве
Ksenia
hls это протокол
Ksenia
но тормоза на любом этапе не отменяются
Elvira
ну и гугл требует пока 29, мб выложить с ним и потом станет яснее, в чём проблема
на самом деле проблема другая немного) я с apk переехала на бандлы, после выпуска у пользователей полезли какие-то креши, выросли вдруг резко в количестве, я вот хз, связано ли это с бандлами, решила обратно на apk переехать и вот.
Dmytro
hls это протокол
HLS предусматривает поддержку адаптивного битрейта, эта техника предусматривает наличие нескольких одновременно доступных потоков, каждый из которых может содержать одинаковый контент, закодированный в разных битрейтах, а также имеющий другие отличающиеся характеристики. По мере проигрывания клиент может выбирать из числа нескольких доступных потоков, что позволяет адаптировать сессию к внешним условиям передачи по сети.
Dmytro
Oleg
а какого планы краши примерно? (ради интереса)
Dmytro
exoplayer и ffmpeg обертки все
Elvira
Dmytro
minify enable?
Дмитрий
Нет, если во фрагменте будет краш то это будет краш
Oleg
отключите логи по приложению и смотрите логи с тэгом error
Oleg
Дмитрий
Звучит будто вендор накосячил в прошивке, в MiUI допустим есть флаг отвечающий за показ крашей с первого раза
Oleg
нет, просто приложение при краше перезапускается, студия по pid фильтрует логи. Если приложение перезапустилось - увидите только логи от нового экземпляра
Дмитрий
Ну либо студия 🤷‍♂
Николай
Николай
Ребят. На активности может быть одновременно один из трёх фрагментов. У фрагмента "А" есть подписка на MutableLiveData. Ситуация: С фрагмента "А" перехожу на "В", добавляя транзакцию в бекстэк Нажимаю кнопку "назад" тем самым возвращаюсь на "А". И какого-то хрена в нём обязательно происходит вызов будто бы обновилась MutableLiveData... В OnDestroy() фрагмента "А" провожу отписку от лив даты. Каковы могут быть причины вызова метода обновления лив даты?
Roman
Ребят, подскажите за такую штуку в WorkManager - метод ListenableWorker.setForegroundAsync позволяет стартовать работу моментально, запуская для нее сервис форграундный. Я же правильно понимаю, что запустить несколько воркеров инстансов MyForegroundWorker параллельно так не выйдет? Они будут все равно складываться в очередь, будто бы я их запускал, как уникальные?
Oleg
в onViewCreated()
В А нужно один раз отреагировать на LiveData?
Oleg
Если replace при смене фрагментов, то гуглите SingleEventLiveData
Николай
В А нужно один раз отреагировать на LiveData?
Нет. Не один раз. Должно быть так: Я дёргаю апишку на бэке. Апишка возвращает ответ - > обновляю лив дату liveData,postValue(newData) -> вызывается обработчик во фрагменте "А". На деле оно так и работает но вот если создать описаную выше ситуацию то не будет ни запроса на сервер ни обновления лив даты но обработчик во фрагменте всёравно сработает. Не могу понять причину этого
Maxim
Коллеги может кто подсказать, куда копать, что почитать? Предисловие: работаю над андройд приложением на java, данные хранятся в БД SQL. Сейчас появилась необходимость обновить структуру БД, добавить еще поля. Вопрос. Как обновить структуру БД не удаляя текущую БД и не терять данные которые уже хранятся в приложении?
Oleg
можно декомпилировать ccleaner и посмотреть
Данил
Нет не использую :(
https://stackoverflow.com/questions/989558/best-practices-for-in-app-database-migration-for-sqlite
Oleg
а с чего вы взяли, что это всем известные кейсы? Хотите как в ccleaner - http://www.javadecompilers.com/apk
Николай
перенести загрузку данных в другой метод, узнать, какой lifecycle event юзается в этом кейсе
зачем переносить загрузку даных в другой метод ? И как узнать акой lifecycle event юзается в этом кейсе?
Oleg
ну так переопределите методы фрагмента и узнаете
если он не уничтожен,то подпишите его на какой-то флаг/передайте коллбэк
Mike
это позиция джетбрэйнс?
Ну конечно же нет.
Anonymous
типа лишний код писать не нужно? это же вся идея датакласса?
Николай
если он не уничтожен,то подпишите его на какой-то флаг/передайте коллбэк
Да тут суть в том,что вообще не должно быть вызова этого метода. Обычно сталкивался с множественным вызовом но это решал отпиской в onDestroy, а тут впринципе хз откуда идёт вызов. Буду писать логи, искать корень
Oleg
Да тут суть в том,что вообще не должно быть вызова этого метода. Обычно сталкивался с множественным вызовом но это решал отпиской в onDestroy, а тут впринципе хз откуда идёт вызов. Буду писать логи, искать корень
ну так я и говорю: SIngleEvent, чтобы выполнилось единоразово при получении события https://medium.com/androiddevelopers/livedata-with-snackbar-navigation-and-other-events-the-singleliveevent-case-ac2622673150
Oleg
Возврат на существующий фрагмент - другое
Кирилл
Да, он занимает место в языке, а толку нет
Ну так никто не обязывает ими пользоваться
Mike
Ну так никто не обязывает ими пользоваться
Я не хочу как в С++, где каждая команда фактически пишет на своём языке. Плюс хочется шустрый проворный компилятор, а не как сейчас.
Anonymous
невозможно всё полезным сделать, как никогда не будет общего языка программирования
Anonymous
там вверху было сообщение
Anonymous
ассембли почти машинный код
Pavel
всем известно что ассембли это сахарок над единичками и ноликами
Anonymous
не далеко ушел
Anonymous
от байтосношательства
Anonymous
байтобесие
Anonymous
все это
Mike
байтобесие
флудоёбие)
Alex Android
Привет. Как при открытии клавиатуры одну вьюшку оставить внизу под клавой, а остальные реагировали так же?
死は終わりではない
Для юзеров нужна модель если хочешь их вывести в ресайклервью?