Mike
думаю, андроид не даст установить даунгрейд
Vadim
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) но он есть
Mike
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) но он есть
даунгрейд SQLite может случиться, а даунгрейд приложения — нет)
Сергей
Мнэ...а тут не путают версии базы приложения часом? Версия базы гугль не это самое совершенно
Vadim
Мне надо новый функционал потестить в закрытой базе пользователей, тест по времени долгий, и меняется структура БД, тем самым в тестовой версии версия будет +1. В тест выложим и оставим на пару недель. За это время скорее всего релиз будет правиться и версия повышаться. Дойдет до того что у тех у кого стоит тестовая обновятся на релизную и будут проблемы с БД
Dj
Чистый код Дядюшки Боба
Mike
вот эту почитай, топовая https://t.me/mobile_jobs_talk/361441
Mike
доказательная, ёпта
Dj
доказательная, ёпта
Она не про код же
Anonymous
Сбой при загрузке Целевой уровень API для вашего приложения – 27. Чтобы обеспечить необходимую производительность и безопасность, целевой уровень API должен быть не ниже 28. Установите для своего приложения целевой уровень API не менее 28. Подробнее… Название пакета "io.material" недопустимо. Укажите другое. В Google Play уже есть приложение с названием пакета "io.material.catalog". Укажите другое. ЗАГРУЗИТЬ ЕЩЁ ОДИН ФАЙЛ
Mike
Она не про код же
автор вопроса не просил про код
Anonymous
Как решить, кто знает?
Denis
Как решить, кто знает?
Тебе же написали, поднять версию
Andrew
Ох, тут такие вопросы душевные задают и обсуждают, куда мне со своими семейными политиками.
Dj
автор вопроса не просил про код
Если человек пишет в группе с программистами, логично предположить, что он про код просит
Anonymous
Я не программист, но хочу это исправить
Mike
Если человек пишет в группе с программистами, логично предположить, что он про код просит
нет, логично предположить, что он вообще не знает, чего хочет
Denis
target версия
Mike
Я не программист, но хочу это исправить
придётся немного попрограммировать
Anonymous
Кто может помочь, за символическое вознаграждение?
Anonymous
@mobile_jobs
Там серьезные объявления
Denis
придётся немного попрограммировать
Звучит, как начало страшилки
Vadim
Ребят у меня дата в базе типа Long выглядит: 1568419200000 Как мне её отобразить в нормальном формате "d mmmm yyyy"?
leksss
К кому можно обратиться кто работал с VK API? Пытаюсь сделать по уроку, а методы совершенно разные..
Denis
спросить в чате - там сразу дадут готовое решение
Я иду с уника, не умею на ходу парсить дату(
leksss
к документации ВК
да там куча всего.. а мне надо VKRequest только, чтобы к группе присоединиться
Denis
Но знаю, что в интернете уже решали такую задачу
leksss
к документации ВК
VKList даже нету
Denis
Ты ту версию сдк смотришь?
Vadim
Почитать про работу с датой. 5 минут и твоя проблема решена
я читаю) просто пробую и не совсем получается val date = target?.date.toString() val dateFormatter = DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH) val dateString = LocalDate.parse(date, dateFormatter) и после этого dateString.toString() но выбивает not parsed
Denis
Там уже есть VkSdk 2.0
Mike
VKList даже нету
фу, ты чё, вк сдк используешь?
leksss
фу, ты чё, вк сдк используешь?
а как лучше? я больше уроков не нашел
leksss
мне всего лишь нужно картинки из какой нибудь группы вынуть в ресайкл и все
Vadim
val date = target?.date.toString() так появляются строчки с текстом "null"
ну мне ведь сперва нужно target?.date преобразовать в String или всё таки не так это делается
Mike
а что, в интернете таких примеров нет?
Mike
ничего не понял, но очень интересно
Mike
не надо
Vadim
Есть замоканый интерфейс Session когда я вызываю метод session.token() он возвращает мне замоканый респонс с помощью whenever(session.token()).thenReturn(Single.just(“token”) … Но когда я вызываю в другом тесте session.login(“name”,”password”) тест падает с nullpointer, типо session не существует
Vadim
как такое может быть?
Mike
как такое может быть?
ну, а в другом тесте не замокан, наверное
leksss
Vadim
тебе нужно не дату превратить в строку, а для начала лонг в дату
ну допустим сделал val time = target?.date ?: 0L val date = Date(time) val format = SimpleDateFormat("yyyy.MM.dd HH:mm") format.format(date) и теперь уже в String?
Mike
ну так как лучше то
взять OkHttp и пойти на сервер ВК с запросом
Pomka
Всем привет. Ребят, я видел что API-KEY хранится в Gradle иногда. Как его используют в коде и где можно почитать?
Pomka
А как хранится? buildConfigField?
Не помню честно... Даже если так, то что? Это просто системная переменная будет?
Vadim
ну, а в другом тесте не замокан, наверное
вот я вызываю этот кусок кода из теста… и мне возвращается java.lang.NullPointerException Когда .login()  меняю на .token() то нулл поинтера нету
Mike
Не помню честно... Даже если так, то что? Это просто системная переменная будет?
buildConfigField попадает в класс BuildConfig, оттуда используется из кода
Denis
Осталась понять что такое BuildConfig
Генерируется во время билда)
Denis
Удобно использовать, когда есть разные билд тайпы
Denis
Плюс можно использовать local properties
Denis
Тогда на гит не будут улетать всякие ключи и т.д
Pomka
Генерируется во время билда)
Это я понял, но как с ним работать?) Спасибо - пойду курить интернет
Pomka
Плюс можно использовать local properties
Про это можно подробнее?)
Vadim
format и так вернёт String, куда ещё
да, всё верно, а можно как то вместо SimpleDateFormat использовать DateTimeFormatter ?
Denis
Про это можно подробнее?)
Ну засовываешб данные в local properties
Denis
И читаешь их)
Pomka
Ну засовываешб данные в local properties
Это просто проперти файл, который не добавлен в гит?
Denis
Да
Pomka
Да
Норм вариант. На сколько это BadStyle?)
Denis
Я так делаю
Denis
Чтобы не светит ключи к api
Mike
Норм вариант. На сколько это BadStyle?)
если это непубличные ключи, которых в контроле версий быть не должно, то только так и делается