
Kevin
17.01.2018
12:49:49
hey
how can i solve this

Руслан
17.01.2018
12:52:47
Try something like:
Gson().fromJson<ArrayList<ItemDataModel>>(gsss, listType)

Google

Kevin
17.01.2018
13:03:26
u saved my day man .... and thanks again for this kotlin group

Nikita
17.01.2018
15:32:59
Добрый вечер.
Господа, а как с эксепшенами в корутинах?

Lipe
17.01.2018
15:39:26
Кто нибудь написал бот для телеграмма

Artem
17.01.2018
15:41:54

Nikita
17.01.2018
15:43:39
Бедный парень :)

Dmitrii
17.01.2018
15:46:55

Руслан
17.01.2018
15:47:36

Mikhail
17.01.2018
16:26:51

Anton
17.01.2018
16:50:24
пацаны а что корутины/каналы и прочие штучки из квазара норм? в котлине намного лучше?

Roman
17.01.2018
16:51:58
Из квазара норм, но в котлине намного лучше :) Если есть legacy код на квзаре, то даже есть модуль для interop на этот случай

Anton
17.01.2018
16:52:46
спасибо) а то просто такая популяризация корутин пошла а раньше вообще нигде не слышно было о них(ну или у меня в андроиде не слышно) а щас на каждом шагу, а оказывается они были реализонвы на джаве

Usman
17.01.2018
17:01:10
после обновления до нового плагина

Google

Usman
17.01.2018
17:01:23

Алексей
17.01.2018
17:05:20
Как класс унаследовать от 2-х классов? От обычного и от абстрактного

Dibro
17.01.2018
17:05:54
можешь наследоваться от одного класса и реализовывать интерфейс

Maxim
17.01.2018
17:07:00
Можно интерфейсы сделать с дефолтной реализацией

Алексей
17.01.2018
17:07:58
спасибо

Alex
17.01.2018
19:13:55
вечером сложно думется, не подскажите как найти(вернуть) в строке "123 /i 321 gasd" 321, лучшее что сейчас в голову приходит это Matcher и Pattern из java и топом с нее снять 1е вхождение
регекс "/i [0-9]+"

Dmitry
17.01.2018
19:34:52
(?<=/i )\d+
типа такого

Ivan
17.01.2018
22:59:18
Гайз, а никто не мучил gradle под котлином? Там всё так же грустно как и пол года назад или есть подвижки?

Михаил
17.01.2018
23:00:17
вроде полгода назад все ок было по большей части, по крайней мере под андроид

Bogdan
17.01.2018
23:00:27

Михаил
17.01.2018
23:00:54

Bogdan
17.01.2018
23:01:36
а какие именно?
чесно не знаю, но с некоторыми плагинами пришлось плясать с бубном

Sasha
17.01.2018
23:22:44

Михаил
17.01.2018
23:23:45
ну я как то ради интереса мигрировал, два вечера заняло, даже больше чем полгода назад

Sasha
17.01.2018
23:25:48
Ну хз, какая та лишняя сложность на ровном месте.

Ivan
17.01.2018
23:37:37
Но синтаксис там так и планируется другой? Последний раз что смотрел, получалось что даже самый простой скрипт нужно сильно менять чтобы вообще гредл раздуплил что это

Bogdan
17.01.2018
23:38:27

Google

Vladimir
18.01.2018
03:51:13
Кто-нибудь в курсе статуса ktor-client? Я так понял, ApacheBackend блокирующий, JettyBackend вообще не работает, а CIOBackend недоделан. Получается, им ещё нельзя пользоваться?

Leonid
18.01.2018
07:15:16
@frostbit ApacheEngine асинхронный, сейчас он является основным для http 1.1, JettyEngine http2 only, CIOEngine в процессе оптимизации

Vladimir
18.01.2018
07:45:35

Boris
18.01.2018
07:50:20
Некоторые встроенные в груви средства я тоже адаптировал для удобной работы, но основные вещи необходимые для работы из котлина всё-таки уже есть или в самом грейдле или а котлин-дсл

Vladimir
18.01.2018
07:54:26

Leonid
18.01.2018
07:55:06
@frostbit Да, есть в планах

Igor
18.01.2018
08:41:36
Как в котлине идиоматические делать suspend обертки над функциями, если у них нет колбека?
Те это просто долгая IO операция, типа URL(…).readText()
Через withContext(…){} или через async/future что бы обертка возвращала Deferred<T> / CompletableFuture<T> или еще как?
Может вообще не стоит делать такие обертки, а по месту их заворачивать в async{}.await()

Kira
18.01.2018
08:46:02

Sergey
18.01.2018
09:19:33

Roman
18.01.2018
09:24:03
В async{ ... }.await() вот уже точно не надо заворачивать, т.к. это эквивалентно withContext { ... }. А по-месту это делать или нет — зависит от архитектуры. Если есть деление на слой работы с данными, то логично иметь торчащие в вышележащие слои архитектуры suspend функции которые написаны через withContext, типа: suspend fun loadSomeText() = withContext(IO) { URL(...).readText() }
Удобно, что вышестоящие слои будут изолированы от деталей реализации работы с данными. Сейчас это может быть блокирующий IO через withContext(IO) { ... }, а завтра какой-нибудь истинно асинхронный доступ. Коду, который использует loadSomeText, будет все-равно.


Vladimir
18.01.2018
10:22:37
@relizarov Где лучше создать баг на компилятор, если у меня такой код делает VerifyError на 1.2.20?
fun coroutineBuilder(block: suspend () -> Unit) = Unit
suspend fun suspending(block: () -> Unit) = Unit
class CompilerTest {
fun `test)`() {
val value = 1
coroutineBuilder {
suspending {
println(value)
}
}
}
}

Quantum Harmonizer
18.01.2018
10:23:04

Roman
18.01.2018
10:23:06
http://kotl.in/issue

Vladimir
18.01.2018
10:23:18
Ок, спасибо

Ivan
18.01.2018
11:33:37
Синтаксис там очень похожий, но один в один работать точно не будет. Я написал очень много кода под грейдл-котлин и могу сказать, что это отрада моей души после груви. Но нужно понимать, что очень многие сторонние плагины написаны в рапиздяйском груви стиле, где ни о какой типизации даже не слышали, поэтому для интеграции с такими поделками иногда приходится писать эмуляцию динамического кода на котлине, что конечно не очень приятно, конечно
А, понятно, я просто в гредле пока не очень, всё как-то мавен-мавен, вот думал мне сейчас всё подсказывать будет, подсвечивать и я сразу разберусь, но в итоге понакопипастил чтобы более-менее работало и юзаю только для добавления зависимостей, но и то, везде где говорят что для гредла зависимость будет такая-то, её нужно переделать под новый синтаксис


Kira
18.01.2018
12:26:54
А, понятно, я просто в гредле пока не очень, всё как-то мавен-мавен, вот думал мне сейчас всё подсказывать будет, подсвечивать и я сразу разберусь, но в итоге понакопипастил чтобы более-менее работало и юзаю только для добавления зависимостей, но и то, везде где говорят что для гредла зависимость будет такая-то, её нужно переделать под новый синтаксис
Синтаксис зависимостей тот же, просто в груви можно опустить скобки, а в котлине нельзя, ну и вместо хитрого задания мапы (group: chfgydf') именованные параметры
Добавляешь скобки, меняешь двоеточия на равно и одинарные кавычки на двойные

Google

Kira
18.01.2018
12:28:33
Нужен плагин который на автомате это делает)

Ivan
18.01.2018
12:31:02

Kevin
18.01.2018
12:40:41
I speak English .. am i welcome here ?

Javokhir
18.01.2018
12:41:05
U re welcome

Kira
18.01.2018
12:41:13

Kevin
18.01.2018
12:42:51

Vit
18.01.2018
12:45:10

Kevin
18.01.2018
12:45:26

Vit
18.01.2018
12:46:40
Россия

Денис
18.01.2018
12:46:50
I speak English .. am i welcome here ?
It's mostly Russian speaking chat/conf, but people do answer the questions asked in English (in English, apparently). There's not so much "offtopic" talks in English here, but mostly due to the fact that overwhelming majority of chat members are Russian-speaking.

Kevin
18.01.2018
12:47:20
Cool .. thanks
May be one of us should developer a bot to translate

Kirill
18.01.2018
12:47:52
you can join kotlinlang.slack.com
official kotlin community slack chat (english speaking)

Kevin
18.01.2018
12:49:05

Andrew
18.01.2018
12:50:34
I believe I saw Kevin's unanswered message in some channel there yesterday :) There are much more people there, so the chance to get help there is much higher, just the response time can be a bit long. But as others said, we welcome anybody here in Telegram!

Vit
18.01.2018
12:50:53
in your country a good salary for kotlin programmers?

Kevin
18.01.2018
12:51:19

Google

Kevin
18.01.2018
12:54:12
Guys sharedPref is disturbing me .. am trying to clear a Particular Key ...but ain't working .. i have tried back in Java .. the same thing .. anyone has face simlar issue ????

Andrew
18.01.2018
12:54:51
Checked Google Trends on Kotlin out of curiosity not that long ago, China seems to have most interest in the lang nowadays, outperforming every other country by large counts :)

Kevin
18.01.2018
12:56:33

Andrew
18.01.2018
12:57:17
If it's not working for you both in Kotlin and in Java, it's not an issue with Kotlin usage.

Mikhail
18.01.2018
12:57:41

Kevin
18.01.2018
12:57:48
val mySPrefs = PreferenceManager.getDefaultSharedPreferences(context)
val editor = mySPrefs.edit()
editor.remove(ITEM_STORED_KEY)
editor.apply()

Andrew
18.01.2018
13:00:16
.apply() doesn't save changes immediately, try replacing it with .commit() if you need to see the change at once. But I kindly ask you to find different place for Android stuff which is not specific to Kotlin.

Maxim
18.01.2018
13:00:30

Andrew
18.01.2018
13:01:14
(it's also Russian-speaking, so don't be surprised)

Kevin
18.01.2018
13:01:38

Yevhen
18.01.2018
14:13:20
Как вернуть значение из object ?
fun foo() :String{
someMethod(object : Callback<String> {
override fun onSuccess(s: String) {
return@getCardNumber "value"
}
override fun onFailure(msg: String) {
return@getCardNumber "error"
}
})
}