Sobes.tech
Junior

Co je to aktivita v mobilní aplikaci?

sobes.tech AI

Odpověď od AI

Aktivita (Activity) v Androidu je samostatná obrazovka aplikace, která komunikuje s uživatelem. Každá aktivita představuje samostatný UI komponent a má vlastní životní cyklus. Aplikace může obsahovat několik aktivit, které mohou být propojeny.

Každá aktivita má svůj životní cyklus, který řídí systém Android:

Stav Popis
onCreate() Aktivita je vytvořena. Probíhá inicializace.
onStart() Aktivita se stává viditelnou pro uživatele.
onResume() Aktivita získá fokus a je připravena k interakci.
onPause() Aktivita ztrácí fokus, ale je stále viditelná. Může být částečně překryta.
onStop() Aktivita již není viditelná pro uživatele.
onDestroy() Aktivita je zničena.
onRestart() Aktivita, která je ve stavu onStop(), je znovu viditelná.

Příklad struktury Android projektu s aktivitami:

// 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); // Připojení k layout souboru

        Button nextButton = findViewById(R.id.next_button);
        nextButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Přechod na jinou aktivitu
                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); // Připojení k layout souboru
    }
}

Manifest soubor aplikace (AndroidManifest.xml) definuje všechny aktivity a vstupní body:

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

        <!-- Deklarace hlavní aktivity -->
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <!-- Deklarace druhé aktivity -->
        <activity android:name=".SecondaryActivity"/>

    </application>
</manifest>

Aktivity jsou tedy stavební kameny uživatelského rozhraní v Android aplikacích.