Sobes.tech
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
    }
}

Το αρχείο manifest της εφαρμογής (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.