Android - Aktivitas

Aktivitas merepresentasikan satu layar dengan antarmuka pengguna seperti jendela atau bingkai Java. Aktivitas Android adalah subkelas kelas ContextThemeWrapper.

Jika Anda telah bekerja dengan bahasa pemrograman C, C ++ atau Java maka Anda pasti sudah melihat bahwa program Anda dimulai dari main()fungsi. Cara yang sangat mirip, sistem Android memulai programnya dengan diActivitydimulai dengan panggilan metode callback onCreate () . Ada urutan metode callback yang memulai aktivitas dan urutan metode callback yang menghapus aktivitas seperti yang ditunjukkan dalam diagram siklus hidup Aktivitas di bawah ini: ( image courtesy: android.com )

Kelas Aktivitas mendefinisikan panggilan balik berikut yaitu peristiwa. Anda tidak perlu menerapkan semua metode callback. Namun, penting bagi Anda untuk memahami masing-masing dan menerapkannya yang memastikan aplikasi Anda berperilaku seperti yang diharapkan pengguna.

Sr Tidak Callback & Deskripsi
1

onCreate()

Ini adalah callback pertama dan dipanggil saat aktivitas pertama kali dibuat.

2

onStart()

Callback ini dipanggil ketika aktivitas menjadi terlihat oleh pengguna.

3

onResume()

Ini dipanggil saat pengguna mulai berinteraksi dengan aplikasi.

4

onPause()

Aktivitas yang dijeda tidak menerima input pengguna dan tidak dapat mengeksekusi kode apa pun dan dipanggil ketika aktivitas saat ini sedang dijeda dan aktivitas sebelumnya sedang dilanjutkan.

5

onStop()

Callback ini dipanggil saat aktivitas tidak lagi terlihat.

6

onDestroy()

Callback ini dipanggil sebelum aktivitas dihancurkan oleh sistem.

7

onRestart()

Callback ini dipanggil saat aktivitas dimulai ulang setelah menghentikannya.

Contoh

Contoh ini akan memandu Anda melalui langkah-langkah sederhana untuk menunjukkan siklus hidup aktivitas aplikasi Android. Ikuti langkah-langkah berikut untuk memodifikasi aplikasi Android yang kami buat di bab Contoh Hello World -

Langkah Deskripsi
1 Anda akan menggunakan Android studio untuk membuat aplikasi Android dan menamakannya HelloWorld di bawah paket com.example.helloworld seperti yang dijelaskan di bab Contoh Hello World .
2 Ubah file aktivitas utama MainActivity.java seperti yang dijelaskan di bawah ini. Jaga sisa file tidak berubah.
3 Jalankan aplikasi untuk meluncurkan emulator Android dan verifikasi hasil perubahan yang dilakukan dalam aplikasi.

Berikut adalah konten file aktivitas utama yang dimodifikasi src/com.example.helloworld/MainActivity.java. File ini mencakup setiap metode siklus hidup dasar. ItuLog.d() metode telah digunakan untuk menghasilkan pesan log -

package com.example.helloworld;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;

public class MainActivity extends Activity {
   String msg = "Android : ";
   
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Log.d(msg, "The onCreate() event");
   }

   /** Called when the activity is about to become visible. */
   @Override
   protected void onStart() {
      super.onStart();
      Log.d(msg, "The onStart() event");
   }

   /** Called when the activity has become visible. */
   @Override
   protected void onResume() {
      super.onResume();
      Log.d(msg, "The onResume() event");
   }

   /** Called when another activity is taking focus. */
   @Override
   protected void onPause() {
      super.onPause();
      Log.d(msg, "The onPause() event");
   }

   /** Called when the activity is no longer visible. */
   @Override
   protected void onStop() {
      super.onStop();
      Log.d(msg, "The onStop() event");
   }

   /** Called just before the activity is destroyed. */
   @Override
   public void onDestroy() {
      super.onDestroy();
      Log.d(msg, "The onDestroy() event");
   }
}

Kelas aktivitas memuat semua komponen UI menggunakan file XML yang tersedia di folder res / layout proyek. Pernyataan berikut memuat komponen UI dari file res / layout / activity_main.xml :

setContentView(R.layout.activity_main);

Aplikasi dapat memiliki satu atau lebih aktivitas tanpa batasan apa pun. Setiap aktivitas yang Anda tentukan untuk aplikasi Anda harus dideklarasikan dalam file AndroidManifest.xml Anda dan aktivitas utama untuk aplikasi Anda harus dideklarasikan dalam manifes dengan <intent-filter> yang menyertakan aksi MAIN dan kategori LAUNCHER sebagai berikut:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tutorialspoint7.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Jika tindakan UTAMA atau kategori PELUNCUR tidak dideklarasikan untuk salah satu aktivitas Anda, ikon aplikasi Anda tidak akan muncul di daftar aplikasi layar Utama.

Ayo coba jalankan modifikasi kita Hello World!aplikasi yang baru saja kita modifikasi. Saya berasumsi bahwa Anda telah membuat fileAVDsaat melakukan pengaturan lingkungan. Untuk menjalankan aplikasi dari Android studio, buka salah satu file aktivitas proyek Anda dan klik

ikon Run dari toolbar. Android studio menginstal aplikasi pada AVD Anda dan memulainya dan jika semuanya baik-baik saja dengan pengaturan dan aplikasi Anda, itu akan menampilkan jendela Emulator dan Anda akan melihat pesan log berikut diLogCat jendela di studio Android -

08-23 10:32:07.682 4480-4480/com.example.helloworld D/Android :: The onCreate() event
08-23 10:32:07.683 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:32:07.685 4480-4480/com.example.helloworld D/Android :: The onResume() event

Mari kita coba mengklik tombol layar kunci pada emulator Android dan itu akan menghasilkan pesan peristiwa berikut di LogCat jendela di studio android:

08-23 10:32:53.230 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:32:53.294 4480-4480/com.example.helloworld D/Android :: The onStop() event

Mari kita coba lagi untuk membuka kunci layar Anda di emulator Android dan itu akan menghasilkan pesan peristiwa berikut di LogCat jendela di studio Android:

08-23 10:34:41.390 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:34:41.392 4480-4480/com.example.helloworld D/Android :: The onResume() event

Selanjutnya, mari kita coba lagi untuk mengklik tombol Kembali

pada emulator Android dan itu akan menghasilkan pesan peristiwa berikut diLogCat jendela di studio Android dan ini menyelesaikan Siklus Hidup Aktivitas untuk Aplikasi Android.

08-23 10:37:24.806 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:37:25.668 4480-4480/com.example.helloworld D/Android :: The onStop() event
08-23 10:37:25.669 4480-4480/com.example.helloworld D/Android :: The onDestroy() event