StartAndroid Ru Kotlin
@kotlinchat 362 участника
Загрузить еще
13 июня
Не, про котлин у меня пока ничего нет
Если надо, могу дать ссылку на проект где на Котлин перевожу курс по андроид разработке
Может не всегда идиоматично, но работает
Было бы здорово, делитесь ссылкой.
Только я в одном приложении делаю, а не для каждого урока отдельно. Комп долго проект создает
https://github.com/hexakosioihexekontahex/DraftApp
То есть, MainActivity для выбора урока
Ничего страшного, так даже лучше, так как все вместе работает, и меньше конфликтов будет, спасибо больше +100 лет к жизни, и в карму.
😊
Я сейчас в процессе прохождения, несколько коммитов в день делаю, сейчас 86/133
А вообще котлин тяжелый язык?
После Java - нет
Спасибо, частично жаву знаю начальный уровень.
Kotlin - jvm язык. Java желательно знать
Учу жава, к библиотекам перехожу постепенно.
14 июня
То-ли мозг не хочет усваивать неидиоматический подход, то-ли я просто тупенький... На втором уроке про AsyncTask спотыкаюсь. урок 87
package com.test.hex.draftapp.numbered

import android.annotation.SuppressLint
import android.os.AsyncTask
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import com.test.hex.draftapp.R
import kotlinx.android.synthetic.main.l087.*
import java.util.concurrent.TimeUnit

class L087 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.l087)

findViewById(R.id.button1).setOnClickListener {
L087Task().execute("file_path_1", "file_path_2",
"file_path_3", "file_path_4")
}
}

@SuppressLint("StaticFieldLeak")
internal inner class L087Task : AsyncTask() {
override fun onPreExecute() {
super.onPreExecute()
tvInfo.setText(R.string.begin)
}

override fun doInBackground(vararg strings: String?): Unit? {
try {
var cnt = 0
strings.forEach {
downloadFile(it)
publishProgress(++cnt)
}
TimeUnit.SECONDS.sleep(1)
} catch (e: InterruptedException) {
e.printStackTrace()
}
return null
}

override fun onProgressUpdate(vararg values: Int?) {
super.onProgressUpdate(*values)
tvInfo.text = "Downloaded " + values[0] + " files"
}

override fun onPostExecute(aUnit: Unit?) {
super.onPostExecute(aUnit)
tvInfo.setText(R.string.end)
}

@Throws(InterruptedException::class)
private fun downloadFile(url: String?) {
TimeUnit.SECONDS.sleep(2)
}
}
}
Код меняет текст tvInfo на Begin, через секунду на End. Downloaded _ files не показывает...
Подскажите, пожалуйста, 1) что не так, и 2) как выполнить то же самое используя anko. Или хотя бы второе
17 июня
Никогда не любил джавку, когда учил котлин, к тому моменту уж совсем забыл джавку, особых проблеи не вызвало
Спасибо
20 июня
Разве тут не должна получиться рекурсия? Ведь оно говорит что a > b транслирует как a.compareTo(b) > 0, то есть так же при > 0 будет вызываться эта же трансляция которая будет опять вызывать > 0, и это в свою очередь так же будет вызывать трансляцию
это не будет рекурсивно заменяться, так как заменяется единожды
то есть котлиновский > превратится в джавовский compareTo + > и все
а сравнить два инта джава и так умеет
Какой смысл использовать Котлин в мобильной разработке, когда сейчас в целях экономии ресурсов и финансов программы пишутся на кроссплатформенных платформах, где даже Джавы особо нет?
благодаря которым толковых приложений не написать, а если и попробовать, то всё будет дико тормозить
Отчасти согласен, но это очень узкая сфера, в большинстве заказчику нужно быстро, дёшево и сразу на всех платформах. QT и React Native сейчас развиты и зрелы под нативную разработку, что имеет смысл искать альтернативу фиксированным под одну платформу языкам и средствам разработки
Были б еще люди, которые смогли бы сопровождать такие продукты...
готово

data class UpdateOrderRequest(
@SerializedName("status") val status: OrderStatus,
@SerializedName("lines") val lines: List
) {
enum class OrderStatus {
ACCEPTED {
override fun toString() = "accepted"
},
CANCELLED {
override fun toString() = "cancelled"
},
FINISHED {
override fun toString() = "finished"
}
}
}
посылает капсом статус через ретрофит, когда дата класс посылается в @body
т.е. берется название от enum class. как сделать чтобы юзался toString ?
Ребят, подскажите, может у кого есть вот эта книга в электронном виде
а новые издания есть?
за пару лет там же много приколов появилось
заходите в vk.com/docs, вбиваете нужную книгу, в 90% случаев любая нужная книга имеется
+ 😁
Посвежее
Я правда еще не начинал
729006048
729185297
Telegram виджет для вашего сайта (скрыть это)