Sobes.tech
Junior

Čo je aktivita v mobilnej aplikácii?

sobes.tech AI

Odpoveď od AI

Aktivita (Activity) v Androidu je samostatná obrazovka aplikácie, ktorá komunikuje s používateľom. Každá aktivita predstavuje samostatný UI komponent a má vlastný životný cyklus. Aplikácia môže obsahovať niekoľko aktivít, ktoré môžu byť medzi sebou prepojené.

Každá aktivita má svoj životný cyklus, ktorý riadi systém Android:

Stav Popis
onCreate() Aktivita je vytvorená. Prebieha inicializácia.
onStart() Aktivita sa stáva viditeľnou pre používateľa.
onResume() Aktivita získa fokus a je pripravená na interakciu.
onPause() Aktivita stráca fokus, ale je stále viditeľná. Môže byť čiastočne prekrytá.
onStop() Aktivita už nie je viditeľná pre používateľa.
onDestroy() Aktivita je zničená.
onRestart() Aktivita, ktorá je v stave onStop(), sa znova stáva viditeľnou.

Príklad štruktúry 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); // Prepojenie s layout súborom

        Button nextButton = findViewById(R.id.next_button);
        nextButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Prechod na inú 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); // Prepojenie s layout súborom
    }
}

Manifest súbor aplikácie (AndroidManifest.xml) definuje všetky 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">

        <!-- Deklarácia hlavnej aktivity -->
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <!-- Deklarácia druhej aktivity -->
        <activity android:name=".SecondaryActivity"/>

    </application>
</manifest>

Takže, aktivity sú stavebné bloky používateľského rozhrania v Android aplikáciách.