Серия Kotlin была разработана с учетом того, что вы уже знакомы, по крайней мере, на уровне новичка.

Это четвертая веха на пути к нашей серии Kotlin. Перейдите к третьему , если вы еще не сделали этого .

На этом этапе мы просто будем следовать задачам программирования, разработанным для Курса по основам для разработчиков Android, Раздел 1 - Урок 2.

Как создать и начать деятельность?

  • В основном, запуск других действий такой же, как в Java.
val intent = Intent(this, SecondActivity::class.java)
val message = editText_main!!.text.toString()

intent.putExtra(EXTRA_MESSAGE, message)
startActivityForResult(intent, TEXT_REQUEST)
  • Однако мы объявляем конечные статические переменные в Kotlin с помощью val, а не var.
private val LOG_TAG = MainActivity::class.java.simpleName
  • Создание объекта Singleton в котлине с использованием объекта-компаньона
companion object {
    // Class name for Log tag
    private val LOG_TAG = FirstActivity::class.java.simpleName
    // Unique tag required for the intent extra
    val EXTRA_MESSAGE = "EXTRA_MESSAGE"
    // Unique tag for the intent reply
    val TEXT_REQUEST = 1
}
  • Аксессор в Kotlin: у нас нет геттеров и сеттеров, поэтому мы получаем прямой доступ к переменным поля. Например, чтобы получить текст из editTextView.
val reply = editText_second.text.toString()
  • Установка текста в EditText должна выполняться с помощью setText (). Похоже, когда Kotlin пытается сгенерировать синтетическое свойство для пары Java getter / setter, Kotlin сначала ищет геттер. Поскольку у геттера есть возможность редактирования, мы не можем напрямую использовать доступ к полю.
editText_second.setText(reply)

Как справиться с неявным намерением?

  • Разрешение действия со скрытым умыслом. Мы можем получить прямой доступ к свойству packageManager без геттера.
// Find an activity to hand the intent and start that activity.
if (intent.resolveActivity(packageManager) != null) {
    startActivity(intent)
} else {
    Log.d("ImplicitIntents", "Can't handle this intent!")
}

Пятая веха в этой серии.

5. Тестирование вашего приложения на Kotlin (скоро)

Ссылки:

  1. Использование Kotlin для разработки под Android ~ Kotlin.org
  2. Ресурсы для изучения Kotlin ~ developer.android
  3. Зачем переходить на Kotlin? ~ Средний блог
  4. Список библиотек Kotlin ~ Kotlin.org
  5. Видео лекций ~ youtube.com
  6. Как работает синтаксис доступа к свойствам Kotlin? stackoverflow.com