Mike
Можете мне пожалуйста в лицо ответ ткнуть ?
if (mp.isPlaying) { mp.stop() } mp.start() мб вместо стопа нужно сбросить проигрывание в начало, ибо я не знаю, какой там API
Version
24 api
Mike
24 api
Я про API класса проигрывателя.
Version
if (mp.isPlaying) { mp.stop () } mp.start() else if (!mp.isPlaying) { mp.start() }
Version
А зачем?
Не даёт скомпилить
Mike
Не даёт скомпилить
Конечно. Убери else целиком (и изучай ЯП)
Ярослав🇺🇦
if (mp.isPlaying) { mp.stop () } mp.start() else if (!mp.isPlaying) { mp.start() }
Мне стыдно смотреть на такое😢
Version
Да что то все так же (
Mike
Процитирую себя. «мб вместо стопа нужно сбросить проигрывание в начало» ещё может быть в начале звука тишина
Version
Хорошо спасибо
Ярослав🇺🇦
Как же не хватает в телелеге функции цитировать😕
Vladislav
Кто-нибудь сталкивался с реализацией состояний сообщений в чате? Как в Вайбере, ВК и т.п. Т.е. у каждого сообщения есть state и в зависимости от него, сообщение по разному отображается в списке
Vladislav
Вопрос в том, как это сделать максимально правильно, с минимумом движений в сторону бд
Mike
Вопрос в том, как это сделать максимально правильно, с минимумом движений в сторону бд
можно флаг прочитанности, можно отдельную табличку со списком непрочитанных — всё как обычно
.
https://hatebin.com/ntycedceqk
сделай тред на мплеер или хотя б сервис, или корутину, не играй в основном потоке
Version
До корутин мне ещё далеко :)
.
До корутин мне ещё далеко :)
а до сервисов? мплеер с сервисом это помом стандартный андроидовский туториал
.
ты чего, не подстрекай с суе цыду
непонил наезду, ты хошь сказать что играть в основном потоке ето нормас? :D
.
Не слишком ли жирно? Отдельная табличка
любая табличка это красно-черное дерево в SQLite вроде, чем меньше данных и ключевых полей, тем выше быстродействие. кроме того, маленькую табличку можно целиком в память запихнуть (зависит конечно, но в целом обычно непрочитанных сообщений мало), и по-моему рум это и делает если она прям крошечная совсем.
.
я могу ошибаться
.
надо восполнить, забыл уже. не люблю бд в принципе.
Mike
надо восполнить, забыл уже. не люблю бд в принципе.
полюби! SQL очень мощный и многогранный
.
полюби! SQL очень мощный и многогранный
дело не в SQL, я не боюсь их, с точки зрения оптимизации это говно. насиловать дешманский TLC NAND на телефоне это моветон.
.
каждый пук в бд писать так себе затея
.
шаред префы не люблю по тем же причинам
Vladislav
Я вообще не совсем это имел в виду. А состояния отправки. Т.е. например сообщения пришедшие с сервера уже имеют статус успешно отправленных. Исходящие же сообщения от клиента сначала имеют ожидающий статус(например добавляется значок часиков рядом) и далее в зависимости от того, успешно прошла отправки или нет, приобретают статус успешно отправленного сообщения, либо же висят с ошибкой. Я это всё сделал, оно работает. Но не покидает ощущение что можно лучше, хочу найти какие-то хорошие примеры, решающие похожую задачу
Mike
дело не в SQL, я не боюсь их, с точки зрения оптимизации это говно. насиловать дешманский TLC NAND на телефоне это моветон.
эээ, SQL-базки состоят из оптимизаций чуть более, чем полностью. Они строят оптимальный план выполнения запроса и без особых телодвижений сразу выдают достойную производительность.
Vladislav
Толстоватый
.
эээ, SQL-базки состоят из оптимизаций чуть более, чем полностью. Они строят оптимальный план выполнения запроса и без особых телодвижений сразу выдают достойную производительность.
не в производительности дело, и не в оптимизации SQL,. в принципе в обращении к нанд, у них очень бля мало циклов, и контроллер нанда сам на телефонах дешевый и херовый, это тебе не MLC самсунга с картой на стотыщ ячеек куда писать надо и математикой на распред циклов такой что на всю жизнь хватит. это телефон. там стоит говноконтроллер и говнонанд. любая запись в него автоматически значит износ, и износ нихеровый.
.
юзать тонкие клиенты по возможности конечно.
.
и если можно обойтись без данных на телефоне - обходиться без них.
Mike
🤷‍♂️ то же самое про любые инструменты, без которых можно обойтись
.
я у себя на проектах все что можно спихнуть на сервер спихиваю на сервер, из 6 аппов только в одном есть субд и я настаиваю чтобы её выпилили
.
ссаный реалм
.
потому что можно без него изи
Arsen
та можно в вебвью сразу все приложение
Arsen
.
нельзя, жаваскриптеры засрали веб-страницы. brave на карте яндекса умирает накуй уже, какой вебвью
Line'R
Привет, подскажите, что менее энергозатратно или более производительно. Отрисовка на канве bitmap или drawable?
Ivan
Протестируйте APK, опубликованный в Google Play (в закрытое тестирование, например)
Ivan
Если проблема сохранится, то видимо не в bundle дело
Dyno
Блин, только нашел классный сервис по аналитике Appsee, там тепловая карта кликов, афигенная функция, но захожу на их сайт — недоступен. Закрылся сервис. Вы что-то об этом слышали? Кто-то пользовался Appsee? Может есть альтернативы какие?
Anonymous
Всем привет. Убивается ли foreground service при бездействии ?
Fiou
Ребят,всем привет,как можно реализовать такое:Есть 700 картинок,эти 700 картинок нужно загрузить в фэйрбез storage,и далее получить все 700 ссылок на эти картинки,и в проекте на каждый клик менять картинку, например:Нажал на кнопку, появилась картинка1,нажал еще раз на кнопку появилась картинка2,и так 700 раз, понятное дело что 700 раз никто писать в ручную uri.parse(ссылка) не будет.Вообще первая проблема возникает на первом этапе, неужели нужно вручную грузить 700 ссылок в fierbase storage,нет же,это очень долго,как бы вы реализовали это?
Fiou
цыклом?
Каким еще циклом
Fiou
Проблема 1 возникает при загрузки картинок в фэйрбез
Fiou
Это же адская работа все 700 картинок грузить вручную
Fiou
?
Fiou
Это как
Віталій
?
запихай картинки в масив
Fiou
Так у меня их 700
Fiou
Все 700 картинок в массив
Anonymous
Так у меня их 700
Они у тебя в одной папке лежат?
Anonymous
Ну циклом тогда
Fiou
Капец,я чет не понимаю куда этот цикл пихать,в студию чтоли
Fiou
куда же ещё
Ок,это значит,что мне нужно все 700 картинок в папку дравабл закинуть?
Aleks
Я не думаю, что ему нужно из апки их грузить
Fiou
Так а как я их закину если у меня их нету ни в фэйрбес ни где
Aleks
а загрузить чтобы использовать потом в апке