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-ის აპლიკაციებში.