Kotlin Android

#2 – Базовые концепции. Программа «Список дел»

#2 – Базовые концепции. Программа «Список дел»

В ходе урока вы изучите базовые концепции по работе с языком Kotlin в Android Studio. Дополнительно вы разработаете мини приложение «Список дел». В программе можно будет добавить дело в список, а также можно будет удалить его при нажатии.

Видеоурок

Разработка Андроид приложений на Котлин ведется по аналогии с языком Джава. Любое приложение состоит из страниц (Activity). Каждая страница состоит из двух файлов: 

  • файл с дизайном - расширения файла .xml
  • файл с кодом - расширения файла .kt


Процесс описания дизайна ничем не отличается от Джава аналогичных проектов. Отличия происходят в файлах Котлин при написании функциональной части приложения.

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

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

Также стоит посмотреть

Изучение языка Kotlin для начинающих
12 уроков
Комментарии (4)
Добавить комментарий

Фарит 15 июля 2024 в 18:40

Вот решение:


class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

enableEdgeToEdge()
setContentView(R.layout.activity_main)
val label = findViewById<TextView>(R.id.mainLabel1)
val userData: EditText = findViewById(R.id.userData1)
val button: Button = findViewById(/* id = */ R.id.button1)
button.setOnClickListener {
val text = userData.text.toString().trim()
if (text == "toast")
Toast.makeText(this, "Прожарка!!!", Toast.LENGTH_SHORT ).show()
else
label.text = text
}
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
}
}
Ответить

Фарит 15 июля 2024 в 18:03

<EditText
android:id="@+id/userData1"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_marginTop="60dp"
android:ems="10"
android:hint=" Введите текст"
android:inputType="text"
android:text="введите текст"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/mainLabel1" />
Ответить

Фарит 15 июля 2024 в 17:53

Причем, проблему вызывает только строка:
```
val userData: EditText = findViewById(R.id.userData1)
```
Ответить

Фарит 15 июля 2024 в 13:34

java.lang.NullPointerException: findViewById(...) must not be null

Данный код вызывает эту ошибку.
Гуглю, как поправить.
Ответить