Приведи пример использования Activity
Комментарии (2)
Ответ сгенерирован нейросетью и может содержать ошибки
Пример использования Activity в Android
Activity — это ключевой компонент Android, представляющий отдельный экран с пользовательским интерфейсом. Каждая Activity управляет своим жизненным циклом, что позволяет реагировать на действия пользователя и изменения состояния системы. Вот подробный пример создания простой Activity для отображения приветственного сообщения.
Создание Activity
-
Определение Activity в манифесте: Каждая Activity должна быть зарегистрирована в файле
AndroidManifest.xml.<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapp"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>Здесь
MainActivityобъявлена как главная Activity (с фильтромMAINиLAUNCHER), которая запускается при открытии приложения. -
Реализация класса Activity: Создайте класс, наследующий
AppCompatActivity, и переопределите методonCreate(), где задаётся макет и инициализируются компоненты.package com.example.myapp import android.os.Bundle import android.widget.Button import android.widget.TextView import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Установка макета из XML-файла setContentView(R.layout.activity_main) // Инициализация UI-элементов val welcomeText: TextView = findViewById(R.id.welcome_text) val clickButton: Button = findViewById(R.id.click_button) welcomeText.text = "Добро пожаловать в приложение!" // Обработка нажатия кнопки clickButton.setOnClickListener { welcomeText.text = "Кнопка была нажата!" } } } -
Создание макета (layout): Макет определяет визуальную структуру Activity. Например, файл
res/layout/activity_main.xml:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <TextView android:id="@+id/welcome_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="24sp" android:padding="16dp"/> <Button android:id="@+id/click_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Нажми меня"/> </LinearLayout>
Ключевые аспекты работы Activity
-
Жизненный цикл: Activity проходит через состояния
onCreate(),onStart(),onResume(),onPause(),onStop()иonDestroy(). Например, при повороте экрана Activity уничтожается и создаётся заново, но данные можно сохранить черезonSaveInstanceState(). -
Запуск новой Activity: Для перехода между экранами используется Intent.
val intent = Intent(this, SecondActivity::class.java) startActivity(intent) -
Передача данных между Activity: Данные передаются через
Intentс помощьюputExtra().intent.putExtra("USER_NAME", "Алексей") startActivity(intent)Получение данных в целевой Activity:
val userName = intent.getStringExtra("USER_NAME")
Практическое применение
В реальных приложениях Activity часто используется для:
- Отображения основного интерфейса (например, ленты новостей).
- Обработки форм ввода (регистрация, настройки).
- Интеграции с другими компонентами, такими как Fragment, для построения гибких UI.
Пример использования Activity демонстрирует её роль как фундаментального строительного блока Android-приложений, отвечающего за UI и взаимодействие с пользователем. Для современных приложений рекомендуется сочетать Activity с Fragment и архитектурными компонентами, такими как ViewModel, для управления данными и жизненным циклом.