Назад к вопросам
Junior
84
questionbank
Что такое активность в мобильном приложении?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Активность (Activity) в Android — это отдельный экран приложения, который взаимодействует с пользователем. Каждая активность представляет собой отдельный UI-компонент и имеет собственный жизненный цикл. Приложение может содержать несколько активностей, которые могут быть связаны друг с другом.
Каждая активность имеет жизненный цикл, который управляется системой Android:
| Состояние | Описание |
|---|---|
onCreate() |
Активность создается. Выполняется инициализация. |
onStart() |
Активность становится видимой для пользователя. |
onResume() |
Активность получает фокус и готова к взаимодействию. |
onPause() |
Активность теряет фокус, но еще видима. Может быть частично перекрыта. |
onStop() |
Активность больше не видна пользователю. |
onDestroy() |
Активность уничтожается. |
onRestart() |
Активность, находящаяся в состоянии onStop(), снова становится видимой. |
Пример структуры Android-проекта с активностями:
// MainActivity.java
package com.example.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // Связываем с layout-файлом
Button nextButton = findViewById(R.id.next_button);
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Переход на другую активность
Intent intent = new Intent(MainActivity.this, SecondaryActivity.class);
startActivity(intent);
}
});
}
}
// SecondaryActivity.java
package com.example.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class SecondaryActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_secondary); // Связываем с layout-файлом
}
}
Манифест приложения (AndroidManifest.xml) определяет все активности и точки входа:
<!-- AndroidManifest.xml -->
<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:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApp">
<!-- Объявление главной активности -->
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Объявление второй активности -->
<activity android:name=".SecondaryActivity"/>
</application>
</manifest>
Таким образом, активности являются строительными блоками пользовательского интерфейса в Android-приложениях.