Junior
Mi az aktivitás egy mobilalkalmazásban?
sobes.tech MI
Válasz az MI-től
Az Androidban az Activity egy külön képernyő az alkalmazásban, amely interakcióba lép a felhasználóval. Minden activity egy külön UI-komponens, és saját életciklussal rendelkezik. Egy alkalmazás több activity-t is tartalmazhat, amelyek egymással összekapcsolhatók.
Minden activity-nek van egy életciklusa, amelyet az Android rendszer kezel:
| Állapot | Leírás |
|---|---|
onCreate() |
Az activity létrejön. Inicializálás történik. |
onStart() |
Az activity láthatóvá válik a felhasználó számára. |
onResume() |
Az activity fókuszt kap, és készen áll az interakcióra. |
onPause() |
Az activity elveszíti a fókuszt, de még látható. Részben lefedhető. |
onStop() |
Az activity már nem látható a felhasználó számára. |
onDestroy() |
Az activity megsemmisül. |
onRestart() |
Az onStop() állapotban lévő activity újra láthatóvá válik. |
Példa egy Android projekt szerkezetére aktivitásokkal:
// 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 fájlhoz kötés
Button nextButton = findViewById(R.id.next_button);
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Átmenet más activity-be
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 fájlhoz kötés
}
}
Az alkalmazás manifest fájlja (AndroidManifest.xml) meghatározza az összes activity-t és belépési pontot:
<!-- 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">
<!-- Fő activity deklarálása -->
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Második activity deklarálása -->
<activity android:name=".SecondaryActivity"/>
</application>
</manifest>
Így az activity-k az Android alkalmazások felhasználói felületének építőkövei.