Комментарии 2
Для начала неплохо было бы определиться с целью проекта.
А) Мы делаем не нужное никому тренировочное приложение на Kotlin, чтобы попробовать что-нибудь сделать на Kotlin.
Б) Мы делаем внутренний движок для текстовых игр с картинками на Kotlin, чтобы заполонить маркет нашими крутыми играми и немножко заработать.
В) Мы решили сделать текстовую игру с картинками.
Перейдём сразу к варианту В.
Скачиваем и устанавливаем движок Instead.
Втыкаем в документацию.
Пилим тему оформления.
Делаем игру.
Пакуем папку с игрой в zip.
Заливаем в репозиторий.
А) Мы делаем не нужное никому тренировочное приложение на Kotlin, чтобы попробовать что-нибудь сделать на Kotlin.
Б) Мы делаем внутренний движок для текстовых игр с картинками на Kotlin, чтобы заполонить маркет нашими крутыми играми и немножко заработать.
В) Мы решили сделать текстовую игру с картинками.
Перейдём сразу к варианту В.
Скачиваем и устанавливаем движок Instead.
Втыкаем в документацию.
Пилим тему оформления.
Делаем игру.
Пакуем папку с игрой в zip.
Заливаем в репозиторий.
+8
Зачем делать на Kotlin так?:
Когда идиоматичнее так:
А это вы просто пишете с помощью Kotlin на другом каком-то языке, кажется, паскале:
Я бы предложил так (хотя сама идея добавить пустышками до нужного кол-ва так себе, явно неразумное ограничение, с которым нужно бороться в другом месте):
Rx и Mvp уже пару лет вытесняются Kotlin coroutines и Mvvm/Mvi. Активити фрагментами или вообще Compose. Для json есть библиотеки Kotlin serialization, для андроида — gson, moshi и т.д.
class Game {
private lateinit var store: Store
private lateinit var question: Question
fun init(context: Context) {
this.store = StoreFactory.getStore(context)
question = store.getQuestionById(1)
}
Когда идиоматичнее так:
class Game(context: Context) {
private val store = StoreFactory.getStore(context)
private var question = store.getQuestionById(1)
А это вы просто пишете с помощью Kotlin на другом каком-то языке, кажется, паскале:
fun getAnswers(): List<Answer> {
val list: MutableList<Answer> = ArrayList(this.answers)
val shouldAdd: Int = 4 - list.size
for (i in 1..shouldAdd) {
list.add(Answer("", -1))
}
return list
}
Я бы предложил так (хотя сама идея добавить пустышками до нужного кол-ва так себе, явно неразумное ограничение, с которым нужно бороться в другом месте):
fun getAnswers(): List<Answer> = listOf(answers, List(4 - answers.size) { Answer("", -1) }).flatten()
Rx и Mvp уже пару лет вытесняются Kotlin coroutines и Mvvm/Mvi. Активити фрагментами или вообще Compose. Для json есть библиотеки Kotlin serialization, для андроида — gson, moshi и т.д.
+2
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Пишем комикс-приключение на Kotlin