Метою викладання навчальної
дисципліни «Мови програмування мобільних пристроїв»
є вивчення основних мов програмування
мобільних пристроїв. Протягом курсу
будуть розглянуті особливості
програмування інтерфейсів користувача,
роботи з різними джерелами даних, обміну
даними з підсистемами мобільних
пристроїв.
Основними завданнями вивчення дисципліни «Мови програмування мобільних пристроїв» є: вивчення теоретичних особливостей і формування практичних навичок програмування мобільних пристроїв
Згідно з вимогами освітньої програми студенти повинні досягти таких результатів навчання (компетентностей): СК-1 – Здатність аналізувати предметні області (домени), формулювати вимоги, ідентифікувати, класифікувати та описувати завдання, знаходити методи й підходи до їх розв’язання; СК-2 – Здатність брати участь у проектуванні програмного забезпечення, включаючи проведення моделювання (формальний опис) його структури, поведінки та процесів функціювання; СК-3 – Здатність розробляти архітектури, модулі та компоненти програмних систем.
Міждисциплінарні зв’язки. Дисципліна пов’язана з теоретичними знаннями та практичними уміннями з дисциплін «Алгоритми та структури даних», «Архітектура комп’ютера», «Комп’ютерна дискретна математика», «Об’єктно-орієнтоване програмування», «Основи програмної інженерії», «Бази даних».
За прикладом з лекції виконати такі завдання.
Ознайомитися з принципами створення та використання кількох Activity в Android.
Навчитися передавати інформацію між Activity через Intent і Extras.
Використати Jetpack Compose для побудови інтерфейсу.
Розробити Android-застосунок з такими Activity:
LoginActivity
Поле вводу імені користувача.
Кнопка Login.
При натисканні відкривається MainActivity і передається username.
SettingsActivity
Елементи інтерфейсу:
Switch або Checkbox (наприклад, "Dark mode").
RadioButton-група (наприклад, "Рівень доступу": Student / Teacher).
Dropdown або ExposedDropdownMenuBox (наприклад, вибір мови).
Кнопки Save та Cancel.
При натисканні Save значення повертаються у MainActivity через setResult.
При Cancel Activity закривається без змін.
MainActivity
Приймає username із Login.
Відображає повідомлення типу: "Hello, {username}".
Має кнопку Settings → відкриває SettingsActivity.
При поверненні з Settings відображає оновлені параметри (наприклад: “Dark mode: ON, Role: Student, Language: EN”).
ResultActivity
Приймає довільний текст із MainActivity (наприклад, підсумкові параметри користувача).
Відображає отриману інформацію.
Має кнопку Back, щоб повернутися до MainActivity.
Activity – базовий компонент Android, що представляє один екран.
Intent – механізм для запуску іншої Activity та передачі даних:
startActivity(Intent) – запуск без очікування результату.
startActivityForResult (або новий API ActivityResultContracts) – запуск з очікуванням результату.
Extras – набір додаткових даних у Intent:
Створення першого проекту на Jetpack Compose
MyFirstComposeApp.com.example.myfirstcomposeapp).Після створення проєкту, відкрийте файл MainActivity.kt. Ви побачите заготовку коду з основною функцією, яка використовує Jetpack Compose для побудови інтерфейсу:
package com.example.myfirstcomposeapp
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import com.example.myfirstcomposeapp.ui.theme.MyFirstComposeAppTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyFirstComposeAppTheme {
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
Greeting("Android")
}
}
}
}
}
@Composable
fun Greeting(name: String) {
Text(text = "Hello $name!")
}
setContent { ... }Це функція, яка використовується для відображення компонентів Jetpack Compose в активності.
Greeting("Android")Це виклик функції, яка відображає текст. Функція
Greetingприймає параметрnameі виводить привітання.
Text(...)Компонент для виведення тексту на екрані.
Крок 3: Зміна привітання
- Змініть текст привітання на інший. Наприклад, змініть функцію
Greetingтак:@Composable
fun Greeting(name: String) {
Text(text = "Привіт, $name!")
}ВMainActivityзмініть викликGreeting, щоб передати інше ім’я:Greeting("Світ")Тепер текст на екрані відображатиме: Привіт, Світ!Додайте стилізацію до вашого тексту, щоб зробити його більшим і центрувати на екрані.@Composable fun Greeting(name: String) { Text( text = "Привіт, $name!", modifier = Modifier .fillMaxSize() .wrapContentSize(), style = MaterialTheme.typography.h4 ) }
Тут ми додали такі модифікатори:
fillMaxSize(): Заповнює весь доступний простір.wrapContentSize(): Центрує текст всередині контейнера.style: Використовуємо стандартний стиль заголовка (h4).Text, який відображає вашу улюблену цитату.Button), яка при натисканні змінює текст на екрані.