Mike
да, так в доках
ошибка-то какая?
Anonymous
java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase
Anonymous
конкретно про миграцию никаких проблем, но ошибка точно связана с тем что схема базы данных не обновилась
Anonymous
если добавить инструкцию, что база данных должна пересоздаваться при обновлении схемы. Все работает
Arsen
мб где-то обращене к бд после db.close()
Timur
java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase
Оно ясно говорит что вы пытаетесь выполнить действия над БД после вызова close(). Проверяйте логику приложения.
Anonymous
я с close не работаю вообще. Это все делает Room.
Anonymous
Гугление подсказало и личная проверка показала, что дело в обновлении схемы бд. Дело в инструкции обновления бд в ней косяк
Sva
Ребят, каким образом можно преобразовать LiveData<List<User>> в LiveData<User> используя transformation?
Nikolay
Ребят, каким образом можно преобразовать LiveData<List<User>> в LiveData<User> используя transformation?
val user: LiveData<User> = map(users) { it.first() } ну или смотря какой тебе юзер надо
Dmitry
как подключить корутины в проэкт? добавил зависимости их по прежнему нет(
Danila
Всем привет. У меня есть aar-библиотека. Хочу подключить к ней возможность работы с разными Http клиентами, в т.ч. OkHttp. Как правильно подключить зависимости в Gradle, чтобы моя библиотека не растолстела, но и пользователю библиотеки не пришлось выкачивать все N используемых мною клиентов?
Danila
У меня в коде есть Enum для выбора нужного клиента, если его не будет в рантайме - виноватым будет считаться пользователь.
Danila
Так, вроде бы там нужен compileOnly. Попробую так. Всем спасибо)
Oleg
@assusdan шалом:D
Dmitry
Добавил зависимости, но ключевые слова так и не находит
Dmitry
Launch на пример
Oleg
Зависимости то скачались после sync?
Arsen
а еще лонч с маленькой буквы)
Dmitry
С маленькой, не помню к стати. А где можно посмотреть список загруженных?
Oleg
rebuild project и смотреть лог build
Dmitry
Спасибо
Arsen
Всем привет. У меня есть aar-библиотека. Хочу подключить к ней возможность работы с разными Http клиентами, в т.ч. OkHttp. Как правильно подключить зависимости в Gradle, чтобы моя библиотека не растолстела, но и пользователю библиотеки не пришлось выкачивать все N используемых мною клиентов?
Вводи абстракции, например, как ConverterFactory от OkHttp(Retrofit), и билдеры, чтобы клиент мог сам передавать реализации. Еще можно отдельным артефактом предоставить парочку "каноничных" имплементаций от себя.
Arsen
подробнее гугл : - IoC - D из SOLID - билдеры/фабрики
Arsen
хотя ioc не обязательно смотреть
Arsen
то немного другое
Andrew
как вариант - использовать котлин
Arsen
воскресный кодинг
Arsen
чемодан -> вокзал -> ночной дозор
Arsen
Oleg
По тёмным улицам летит...?
Arsen
неа, тот что из ИП
Андрей
ничего блин не надо делать
Андрей
прогуард/R8 за вас все сделает
Андрей
а если держать все up to date и использовать общий для всех стек, например тот же Okhttp то в апк он один хрен будет ровно раз заюзан
Андрей
так что по весу точно просадок не будет
Arsen
шринкер это крайняя мера, а провайдеры библиотек должны сами заботиться о компактности
Arsen
щас вообще мода на разбиение либ
Arsen
"androidx.room:room-ktx:$room_version" "androidx.room:room-rxjava2:$room_version" "androidx.room:room-guava:$room_version"
Arsen
и т.д.
TheBukharian
привет всем
TheBukharian
TheBukharian
как решить эту проблемку?
TheBukharian
а как это сделать?)
TheBukharian
просто я еще новичок в этом деле
TheBukharian
Походу я понял как
TheBukharian
Oleg
Не хочет T_T. UPD: смотрите в логи/добавьте логирование
Arsen
закинь в post, мб поможет
Arsen
там случайно нет никаких initializationListeners ?
Arsen
https://developer.android.com/guide/topics/media/camera#capture-picture
Ruslan
Всем привет, есть какие нибудь приблизительные лимиты по одновременной отрисовке на экране canvas элементов(к примеру простейших прямоугольников)?
Arsen
зоопарк девайсов в помощь
Arsen
Arsen
https://developer.android.com/topic/performance/vitals/render
Ihor
Подскажите, что не так с этим DownloadManager
Ihor
private void startDownload() { String link = editText.getText().toString().trim(); if ((link.indexOf(".jpeg") != -1) || (link.indexOf(".png") != -1) || (link.indexOf(".bmp") != -1)) { try { list.clear(); DownloadManager.Request request = new DownloadManager.Request(Uri.parse(link)); request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE); request.setAllowedOverRoaming(false); request.setTitle("Downloading"); request.setDescription("Downloading " + "Sample" + ".png"); request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "Sample" + System.currentTimeMillis()); refid = downloadManager.enqueue(request); Log.e("OUT", "" + refid); //list.add(refid); buttonSetImage.setEnabled(true); } catch (Exception e){ Toast.makeText(MainActivity.this, "Error.Problem with downloading", Toast.LENGTH_SHORT).show(); } } else{ Toast.makeText(MainActivity.this, "Error type. Your link is wrong" + link, Toast.LENGTH_SHORT).show(); } }
TheBukharian
господи что это?
TheBukharian
💀💀💀
TheBukharian
за сколько лет можно научиться такому)
Timoschenko
передай ссылку в которой точно есть .png
Starikov
за сколько лет можно научиться такому)
меньше года, тут все очень просто
Timoschenko
передай ссылку в которой точно есть .png
что бы точно знать что все отрабатывает ...
Timoschenko
Так я такую и передаю
регист верный ?
Timoschenko
PNG != png
Ihor
PNG != png
ссылка 100% правильная
Timoschenko
попробуй так. link.endsWith(".jpg|.png|.gif");
Timoschenko
или так if (matches(list[i], "(?i).*\\.(tif|tiff|jpeg|jpg)$"))
Timoschenko
https://www.guru99.com/string-endswith-method-java.html
Ihor
или так if (matches(list[i], "(?i).*\\.(tif|tiff|jpeg|jpg)$"))
Так проблема же не в этой части, а дальше. Линк проходит эту проверку
Timoschenko
вот тут написано другое
Ihor
вот тут написано другое
Да, сори. Ошибся. Срабатывает catch (Exception e){ Toast.makeText(MainActivity.this, "Error.Problem with downloading", Toast.LENGTH_SHORT).show();
Oleg
Надеюсь вы больше не будете отлаживать код toast'ами