Size: a a a

2021 July 08

𓆩✓

𓆩Blinkov𓆪 ✓ in KotlinLangRu
Честно говоря, мне кажется что это костыль, хотя я и не знаю есть ли другое решение, я пока с датой и временем не работал
источник

VS

Vassiliy Somov in KotlinLangRu
Если даты строковые, то как мне кажется все равно нужно получить объекты Date
источник

VS

Vassiliy Somov in KotlinLangRu
А потом можно сравнить количеством дней от начала времён)))
источник

т

тРаКтОрИсТ in KotlinLangRu
Оба типа Date
источник

VS

Vassiliy Somov in KotlinLangRu
val date1 = Calendar.getInstance()
date1.set(2021, 6, 6)
val date2 = Calendar.getInstance()
date2.set(2021, 6, 6, 12, 21)

println(ChronoUnit.DAYS.between(date1.toInstant(), date2.toInstant()))
источник

E

Evgeny in KotlinLangRu
Этот подход будет неправильно работать. Если вторая дата 7 июня вскоре после полуночи, то результатом будет 0. А дни на самом деле разные.
источник

𓆩✓

𓆩Blinkov𓆪 ✓ in KotlinLangRu
источник

E

Evgeny in KotlinLangRu
LocalDate есть и в котлине, потому что котлину доступны джава-классы из стандартной библиотеки. LocalDate конечно использовать было бы удобнее. Если по каким-то причинам нужно использовать именно Date (который считается устаревшим), то я бы отрезал часы-минуты и проч. как указано здесь: https://stackoverflow.com/a/1908419
источник

𓆩✓

𓆩Blinkov𓆪 ✓ in KotlinLangRu
Да кстати это удобно, когда Java-классы доступны, ведь проще java.net.URL и java.net.HttpURLConnection использовать вместо сторонних библиотек
источник

т

тРаКтОрИсТ in KotlinLangRu
источник

DA

Don Andrey in KotlinLangRu
Ребята, всем привет, кто сможет стать ментором? Изучаю Андроид разработку на Котлин
источник

ch

central hardware in KotlinLangRu
источник

A

Alexander in KotlinLangRu
Привет!
❓ Вопрос по дженерикам.
Код по ссылке: https://pastebin.com/aVACG09M. Сократил до минимального примера того, что хочу получить.
Есть sealed класс (TaskState), отвечающий за состояние таски в вм. В вм есть sealed класс (AvailableTask), обозначающий типы доступных тасок, он инстанцируется типом(T) возвращаемого значения конкретной таски (в моем случае доступно 2 типа таски, возвращают Boolean). При текущей реализации выдает ошибку Type mismatch.
Я в generics плохо разбираюсь, если нужно что-то сложнее
class A<T>
написать. Поменял в функции foo() obs тип на obs: Observer<TaskState<*>>, ошибка из функции ушла, но теперь ошибка в использовании, в вызове foo(), указанном ниже. Можно ли как-то написать так, чтобы использование было таким, как в коде?
v.foo(ViewModel.AvailableTask.AvailableTask1) { taskState: TaskState<Boolean> ->
}
источник

QH

Quantum Harmonizer in KotlinLangRu
функция foo предполагает, что T = Boolean, и для любого другого T она некорректна. Поэтому
fun foo(availableTask: AvailableTask<Boolean>, obs: Observer<TaskState<Boolean>>)
источник

A

Alexander in KotlinLangRu
так ведь я хочу, чтобы разные типы туда можно было подсовывать, а в колбеке чтобы тип определялся без приведения
источник

QH

Quantum Harmonizer in KotlinLangRu
так функция в её текущей версии работает только для булей
источник

A

Alexander in KotlinLangRu
не совсем корректный пример привел. Пускай AvailableTask2 выглядит как
object AvailableTask2 : AvailableTask<Int>()
а вызываю дальше как
foo(ViewModel.AvailableTask.AvailableTask2) { taskState: TaskState<Int> -> ... }

в проекте у меня не только простые типы, но и дата классы. Хотелось бы в конечном итоге такой механизм, что определяя тип в функции, мне не нужно было бы использовать приведения в колбеке
источник

A

Alexander in KotlinLangRu
вот часть из проекта: https://pastebin.com/gUFuT4Ag
чтобы было меньше абстракций, если вдруг поможет

не хочу на каждый StateFlow создавать по функции подписки на состояние flow
источник

A

Alexander in KotlinLangRu
вот так выглядит использование с приведением, которого хотелось бы избежать: https://pastebin.com/XaXeWacQ
источник

𓆩✓

𓆩Blinkov𓆪 ✓ in KotlinLangRu
Привет
Знает кто как можно разобрать JSON в котлине? Получаю от сервера ответ в формате JSON
источник