Mike
вообще, если честно, Date говно, Calendar тоже
Dima
а что малина?
Кто сказал Raspberry Pi
Mike
а что малина?
апишки из Java 8 и их бэкпорты. Но я обычно использую говно, потому что нативно)
Alexey
апишки из Java 8 и их бэкпорты. Но я обычно использую говно, потому что нативно)
интересно) я вообще шарпист и тамошнего DateTime мне хватает с головой. буду юзать Calendar значит, а то у Date куча всего нужного депрекейтед
Alexey
Еще вопросик
Alexey
А что с минутами? Тут только MINUTE, это общее число минут я так полагаю? А мне минутную составляющую времени)
Alexey
minute within the hour же
Так, надо научиться читать явадок) спасибо большое))
Mike
с SDK 1 он доступен
Володя
с чем же я тогда перепутал
Alexey
с чем же я тогда перепутал
с вьюшкой одноименной наверно
Alexey
Хотя тоже сомнительно
Володя
c TemporalAmount перепутал и он с 26
Володя
там у него несколько реализаций
Mike
Можно как-то смотреть, в какой версии андроида появился тот или иной метод? @since у них нигде не стоят, на сайт за ними идти долго, набирать имя метода и ждать подсветки — тоже небыстро.
TS
Получаю ошибку в поле entity ROOM - Cannot figure out how to save this field into database. You can consider adding a type converter for it. private final java.util.Date createOn = null; мое поле в Entity @TypeConverters(DateConverter::class) @ColumnInfo(name = "createOn") val createOn: Date?
TS
Cам конвертер
TS
import androidx.room.TypeConverter import java.util.Date class DateConverter { @TypeConverter fun fromTimestamp(value: Long?): Date? { return if (value == null) null else Date(value) } @TypeConverter fun dateToTimestamp(date: Date?): Long? { return date?.time } }
TS
В чем проблема то ?
Denis
зачем тебе везде нулабельный тип?
Denis
ты можешь хранить в бд null?
TS
а почему не могу?
TS
И оттого что я его сделаю не нулабельным cуть проблемы не меняетя
TS
room генерит у себя поле
TS
@androidx.room.ColumnInfo(name = "createOn") private final java.util.Date createOn = null;
TS
Что не так в моем конвертере даты ?
Denis
да
нет, понятно, что может. Но зачем?
Denis
room генерит у себя поле
ну, оно у тебя final
Denis
room, вроде, требует var
Mike
room, вроде, требует var
сомневаюсь. Иначе он был бы совсем бесполезен)
TS
то что оно final тоже не имеет значения
TS
@androidx.room.ColumnInfo(name = "createOn") private java.util.Date createOn;
TS
оно должно сгенировать примитивный тип а не класс Date ,я пологаю
Vadim
у меня есть класс, который наследует LinearLayout class HeaderView : LinearLayout { и после в этом классе я в методе init вызываю метод: private fun inflateView() { inflate(context, R.layout.view_authorization_content,this) } можно ли это сделать как то раньше?
Vadim
раньше чем что? Почему, зачем? Какую вообще проблему решаешь?
проблема - создать кастомную view раньше, это как то передавать в конструктор саму разметку например а не инфлэйтить её в Init'e
Vadim
Чтобы что?
чтобы избавиться от двух методов
Mike
чтобы избавиться от двух методов
курсор на метод — Ctrl + Alt + N
Vadim
курсор на метод — Ctrl + Alt + N
это чужой код просто стал интересен момент оптимизации
TS
ой там много
Vadim
создать раньше, чем что? Что за init?
https://gist.github.com/mnewlive/ccfe1dd7f1a80678fe13038f77657482
Eric
создать раньше, чем что? Что за init?
init {} это статический конструктов в Котлине
The The
c этим MediaStore на Q кошмар какой-то и примеров никаких нет еще. может кто сталкивался и подскажет. пытаюсь удалить файл (удаляю через ContentResolver.delete(uri...)), программа перестает его видеть, все ок. но физически файл остается, лол. и если его переименовать в проводнике - опа, программа его снова начинает видеть. что с этим делать хз
Denis
init {} это статический конструктов в Котлине
Мой вопрос был в контексте друго вопроса. Я знаю, что такое init в котлин
Anton
проблема - создать кастомную view раньше, это как то передавать в конструктор саму разметку например а не инфлэйтить её в Init'e
раньше чем в конструкторе может быть только в конструкторе супер типа. заходишь в конструктор LinearLayout -> смотришь, что там не происходит никаких инфлейтов -> убеждаешься, что сделать это нельзя//
Vadim
оптимизации чего?
я же спросил возможно ли избавиться от метода inflateView здесь или нет
Eugene
Подскажите плз. Есть приложение с платной подпиской. Есть телефон с 2мя профилями. Можно ли сделать свитч между юзерами внутри приложения как в гугл музыке. Чтобы при переключении на другой акк просило подписку на нем тоже. Тоесть менялся гугловский аккаунт для оплаты.
neikist
TS
@androidx.room.ColumnInfo(name = "createOn") private java.util.Date createOn;
В общем проблему удалось решить следующим образом - перенес анотацию в основной класс бд из entity не понятно по чему но так работает
TS
В документации написано в что анотации TypeConverter могут быть добавлены к полю в entity
TS
If you put it on an Entity field, only that field will be able to use it. - но не работает
Никита 🙃
А кто юзает AppUpdateManager. Из-за чего он может возвращать UPDATE_NOT_AVAILABLE, хотя и залили в стор новую версию с новой версией
Никита 🙃
val appUpdateManager = AppUpdateManagerFactory.create(applicationContext) val appUpdateInfoTask = appUpdateManager.appUpdateInfo // Checks that the platform will allow the specified type of update. appUpdateInfoTask.addOnSuccessListener { appUpdateInfo -> if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE) { //do smth } }
Aleksey
нет
У меня была похожая ситуация, только наоборот. Я скачивал новый файл, но приложение его не видело (только после перезапуска). И тогда я использовал MediaScanner (вроде). Покопай, может поможет. Я хз
The The
У меня была похожая ситуация, только наоборот. Я скачивал новый файл, но приложение его не видело (только после перезапуска). И тогда я использовал MediaScanner (вроде). Покопай, может поможет. Я хз
та медиасканнер это не то. тут я уже начитался, что похоже функционала такого нет, если файл по какой-то причине не твой (например, ты удалил приложение, а потом снова установил) - медиасторе не даст его удалить
Aleksey
что?
Та забей) если буду рассказывать что это значит и скину видео, будет не по теме паблика) PS хреново в общем
Vladimir
Looking at core/rest/AndroidManifest.xml you will notice that broadcast android.intent.action.MEDIA_MOUNTED is protected now. Which means it is a broadcast that only the system can send.
Vladimir
https://stackoverflow.com/questions/24072489/java-lang-securityexception-permission-denial-not-allowed-to-send-broadcast-an/24072611
TS
TS
да но там пишут что он может и к полю
TS
скорей всего правила поменялись а документация еще нет