Junior
Какво е активност в мобилно приложение?
sobes.tech AI
Отговор от 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 приложения.