Paladin
Как не зайду всегда реклама 😂
Vitaly
Как не зайду всегда реклама 😂
Да тут утром такое творилось (в 5 МСК)
Vitaly
Реклама это ещё цветочки)
Vitaly
Арабы что-ли?
Мужик пьяный бредил
Valentin
Ребят, такой вопрос, подскажите: с помощью Lottie можно внутри уже готовой кастомной вью использовать анимации?
Anonymous
Muhammad
Добавил рекламу от Admob в приложение но реклама не показываеться
Valentin
Но это получается уже ViewGroup
Sky Surfer
Ребят, а из-за чего такой экран появляется? Понятно, что ошибка какая-то, но в логах нет исключений.
Valentin
Если вставишь туда LotieView, то да
Или если я от View наследуюсь, то я тоже могу туда LottieView вставить?
Vitaly
Или если я от View наследуюсь, то я тоже могу туда LottieView вставить?
Нет Только внутрь ViewGroup можно добавлять View
Vitaly
Или если я от View наследуюсь, то я тоже могу туда LottieView вставить?
Хотя если ты унаследуешься от LottieView, то тут можно подумать
Valentin
Хороший совет, тоже подумал про это
Vitaly
Но тут надо пробовать и смотреть как это реализовано внутри
Valentin
кк
Nikita
да я в курсе как запустить корутину во viewModel, но suspend функция же будет вызываться внутри setOnClickListener а там корутины разводить не принято
Зачем вызывать саспенд функцию из листенера. Вызови обычный метод вм и там через скоуп запускай что хочешь
main
При запуске эмулятора ошибка. Кто нибудь сталкивался? все работало до обновления AS на 4.1 The emulator process for AVD Galaxy_Nexus_API_29 was killed.
Данил
в активити строчка Configuration.getInstance().load(getApplicationContext(), getSharedPreferences(getPackageName() + "_preferences", Context.MODE_PRIVATE)); создает NullPointerException: Attempt to invoke virtual method 'java.lang.String java.io.File.getAbsolutePath()' on a null object reference в гугле ничего нет, в чем ошибка?
Данил
ну нету такого sh, что ты хочешь?
Egor
Привет, кто то юзал event bus? Стоит юзать для общения между сервисом и активити / фрагментом? Вроде фигня прикольная. Потому что мне надо передать во фрагмент поджо, а он достаточно большой. Интент тупо не потянет в extras складывать. Вот думаю над ивент басом.
Egor
дебажить трудно
В дебаге я решу вопрос. Просто мне кажется он для очень ленивых, в дальнейшем будет на нём проект стоять)
Egor
почему из бд не загрузить?
Ну это не совсем поджо. Я маплю поджо в другие объекты, но не в этом вопрос. Вопрос в том, как правильно организовать связь.
Egor
Потому что напрямую синхронно биндить не вариант, пендинг интент еще та хрень для общения.
Jorik
Есть ли у кого-то опыт применения в 1 приложении 2х экземпляров базы данных? (не SQLite+Realm, а SQLite+SQLite)
Jorik
Давайте дополню: Какие-то неочевидные проблемы с этим есть?
Данил
ты напиши для чего тебе 2?
d_jumabaev
#question Как вручную вставить новый элемент в pagedlist в адаптере recyclerview?
✙ ꑭ alex ₿ Ξ
поскажите пожалуста как это исправит
В build.gradle модуля в android.kotlinOptions добавить строку jvmTarget = "1.8"
Данил
ну нету такого sh, что ты хочешь?
самое забавное, первый раз оно работает, а ра втором уже проблемы
Данил
ну так и дебаж, почему у тебя File.getAbsolutePath() возвращает null
Pavel
Сори, за длинный текст. Может вопрос глупый, но насколько действительно удобно использовать Room, а не, например, SQLiteOpenHelper? Может есть еще какие-то популярные способы работать с базой SQLite на андройде? Спрашиваю, потому что только осваиваю тему разработки под андроид, есть опыт работы с базами на десктопах (ms access, Qt ( mdb, adp , ms sql server) ) . Привык писать sql запросы, хранимки, представления ручками или в редакторах, слать строками запросы к базе, получать обрабатывать ответы в коде. Пока читаю осваиваю Room и сложилось неоднозначное впечатление: в целом идея понятна, но как-то слишком много лишних телодвижений(кода), дополнительный синтаксис требующий освоения (чистый sql меня итак вполне устраивал). Если основной смысл, это защита от sql-инжекций и возможность проверки запросов на стадии компиляции, то, имхо, проблема излишне преувеличена и имеет боле простые решения. Или я что-то упускаю?
Jorik
ты напиши для чего тебе 2?
У меня таблицы (связки таблиц) должны иметь возможность меняться независимо друг от друга. Если я все сделаю в одной бд - будет проблема с контролем версии: например в одной таблице нужно добавить столбец, а во второй вернутся на предыдущую
Hikari
Действительно немного глупый вопрос, для жтого существуют миграции :)
VKovalyov
Сори, за длинный текст. Может вопрос глупый, но насколько действительно удобно использовать Room, а не, например, SQLiteOpenHelper? Может есть еще какие-то популярные способы работать с базой SQLite на андройде? Спрашиваю, потому что только осваиваю тему разработки под андроид, есть опыт работы с базами на десктопах (ms access, Qt ( mdb, adp , ms sql server) ) . Привык писать sql запросы, хранимки, представления ручками или в редакторах, слать строками запросы к базе, получать обрабатывать ответы в коде. Пока читаю осваиваю Room и сложилось неоднозначное впечатление: в целом идея понятна, но как-то слишком много лишних телодвижений(кода), дополнительный синтаксис требующий освоения (чистый sql меня итак вполне устраивал). Если основной смысл, это защита от sql-инжекций и возможность проверки запросов на стадии компиляции, то, имхо, проблема излишне преувеличена и имеет боле простые решения. Или я что-то упускаю?
примерно как hibernate VS OracleSQL
Данил
Сори, за длинный текст. Может вопрос глупый, но насколько действительно удобно использовать Room, а не, например, SQLiteOpenHelper? Может есть еще какие-то популярные способы работать с базой SQLite на андройде? Спрашиваю, потому что только осваиваю тему разработки под андроид, есть опыт работы с базами на десктопах (ms access, Qt ( mdb, adp , ms sql server) ) . Привык писать sql запросы, хранимки, представления ручками или в редакторах, слать строками запросы к базе, получать обрабатывать ответы в коде. Пока читаю осваиваю Room и сложилось неоднозначное впечатление: в целом идея понятна, но как-то слишком много лишних телодвижений(кода), дополнительный синтаксис требующий освоения (чистый sql меня итак вполне устраивал). Если основной смысл, это защита от sql-инжекций и возможность проверки запросов на стадии компиляции, то, имхо, проблема излишне преувеличена и имеет боле простые решения. Или я что-то упускаю?
Миграции, ORM, LiveData
Pavel
примерно как hibernate VS OracleSQL
сори, не знаком с первым.
Hikari
Технология из Spring
VKovalyov
>>>Если основной смысл, это защита от sql-инжекций основной смысл в том, что это ORM. какие нафиг инжекции
Roman
Могу сказать субьективное - мне приятнее написать Dao, чем каждый раз курсором полученный ответ читать и мапить руками для каждой таблицы
VKovalyov
а мне приятнее сказать жуниору, чтобы он сделал за меня) такие вот уровни абстракции
Jorik
Действительно немного глупый вопрос, для жтого существуют миграции :)
Как вы выполните миграцию в приведенном мной примере?
Pavel
Миграции, ORM, LiveData
Миграции, это что-то облегчающее обновление структуры данных от версии к версии? Но опытный разработчик создаст sql скрипт, не сталкивался с какими-то особыми трудностями в своей практике.
Михаил
Подскажите пожалуйста как присвоить calendar2 дату от calendar1 так, чтобы когда я изменял дату calendar2, на дате calendar1 это никак не отражалось? То есть как "отвязать" calendar2 от calendar1?
VKovalyov
почитай как по ссылкам значения передаются
Михаил
Pavel
Ты можешь забыть, а так у тебя приложение не скомпилиться, если ты версию бд не повысишь и миграцию не добавишь
Ну как мне кажется обновление структуры базы данных довольно ответственное мероприятие, чтобы там что тупо забыть, ибо без предварительно тестирования не делается. А так можно забыть не поделить на ноль, извиняюсь за пример, но так мне видится.
Pavel
а мне приятнее сказать жуниору, чтобы он сделал за меня) такие вот уровни абстракции
Забавно, что нет даже халявного встроенного инструмента кодогенерации этих самых ДАО на основе базы данных. Нашел платное, но не пашет в последней студии.
Jorik
Подскажите пожалуйста код
я напишу тебе в очень плохом стиле и с ошибками, но суть ты уловишь: Calendar cal1 = Calendar.gеtInstance(); Calendar cal2 = Calendar.getInstande(); cal2.setTimeInMills(cal1.getTimeInMills());
Pavel
не на MVVM пишите?
пока никак не пишу, только изучаю тему. использование же в прошлом формочек из adp не подразумевает такой шаблон.
VKovalyov
еще и передаст данные тебе во флоу, в листе, или как захочешь еще на события подпишет и прочее счастье
Denis
пока никак не пишу, только изучаю тему. использование же в прошлом формочек из adp не подразумевает такой шаблон.
ты пробовал парсить Cursor в ContentValues ? если нет то попробуй и все вопросы отпадут
VKovalyov
правда, сам sqlite это кусок ограниченных ограничений) и с этим ничего не сделать
Pavel
правда, сам sqlite это кусок ограниченных ограничений) и с этим ничего не сделать
да, уж наткнулся на странную ситуацию с хранением дат.
VKovalyov
а что с ними? дата это строка или число
VKovalyov
ну и в чем проблема
Pavel
а что с ними? дата это строка или число
Я может кого обижу, но вариант хранить дату строкой, это долб.. не рационально. Хранить дату как число типа 4-мя или там 8-ю байтами вполне нормально, но почему нельзя было ввести этот как тип поля, непонятно, очень сбивает с толку новичков, все эти конвертации и выбор правильного подхода.
Михаил
cal1.clone() нету чтоли?
Да, есть, работает. Спасибо, это то, что мне нужно
Pavel
а в sqlite typeConverter нету?
я без понятия, читаю документацию и вижу перечисление типов данных. даты нету, это странно, интернет пореполнен, вопросами, статьями и всякими решениями на эту тему. Понятно что всему есть объяснение, просто говорю что это сбивает с толку.
Pavel
ну для таких случаев в Room есть typeConverter
да, что-то такое все время встречалось, в том числе в официальном хелпе по Room. Я не то чтобы критикую, я просто пытаюсь выбрать правильный путь быстрого освоения, чтобы не изучать левые, мертворожденные или ограниченные решения,