← Назад к вопросам

Как создать Activity?

1.3 Junior🔥 242 комментариев
#Android компоненты

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Создание Activity в Android

Activity — это ключевой компонент Android-приложения, представляющий собой отдельный экран с пользовательским интерфейсом. Чтобы создать Activity, нужно выполнить несколько обязательных шагов.

Шаги создания Activity

  1. Создание класса Activity Наследуйте класс от AppCompatActivity (из библиотеки поддержки) или Activity (из стандартного SDK):

    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    
    class MainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
        }
    }
    
    import androidx.appcompat.app.AppCompatActivity;
    import android.os.Bundle;
    
    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    
  2. Создание макета (layout XML) В папке 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">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello, World!"
            android:textSize="24sp" />
    
        <Button
            android:id="@+id/myButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Click Me" />
    </LinearLayout>
    
  3. Регистрация Activity в манифесте Каждая Activity должна быть зарегистрирована в файле AndroidManifest.xml. Добавьте элемент <activity> внутри <application>:

    <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>
    

    intent-filter с действием MAIN и категорией LAUNCHER указывает, что это Activity является точкой входа в приложение.

Основные методы жизненного цикла Activity

При создании Activity важно понимать ее жизненный цикл. Вот ключевые методы:

class MainActivity : AppCompatActivity() {
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // Инициализация UI и основных компонентов
        setContentView(R.layout.activity_main)
    }
    
    override fun onStart() {
        super.onStart()
        // Activity становится видимой
    }
    
    override fun onResume() {
        super.onResume()
        // Activity становится активной и готовой к взаимодействию
    }
    
    override fun onPause() {
        super.onPause()
        // Другое Activity получает фокус
    }
    
    override fun onStop() {
        super.onStop()
        // Activity больше не видна
    }
    
    override fun onDestroy() {
        super.onDestroy()
        // Освобождение ресурсов
    }
}

Важные аспекты

  • Восстановление состояния: используйте onSaveInstanceState() для сохранения и onCreate()/onRestoreInstanceState() для восстановления состояния при повороте экрана или перезапуске Activity:
override fun onSaveInstanceState(outState: Bundle) {
    outState.putString("KEY", "important data")
    super.onSaveInstanceState(outState)
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val restoredValue = savedInstanceState?.getString("KEY")
}
  • Обработка конфигураций: используйте ViewModel вместе с архитектурными компонентами Jetpack для отделения данных от UI и корректной обработки изменений конфигурации.

  • Навигация между Activity: для запуска новой Activity используйте Intent:

val intent = Intent(this, SecondActivity::class.java)
intent.putExtra("EXTRA_KEY", "some data")
startActivity(intent)
  • Modern подход: в современных Android-приложениях рекомендуется использовать Single Activity Architecture с Fragments и Navigation Component, что упрощает навигацию и управление состоянием.

Создание Activity — фундаментальный навык Android-разработчика. Понимание жизненного цикла, правильная обработка состояний и следование современным архитектурным подходам обеспечивают стабильность и отзывчивость приложения.