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-ფაილთან
    }
}

აპლიკაციის მანიაფესტი (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-ის აპლიკაციებში.