Android Fundamentals 2.2 : Activity Lifecycle and State

Inas
Android Studio
Published in
3 min readJan 27, 2019

Alat dan aplikasi yang diperlukan:

  • PC/Desktop dengan Sistem Operasi Windows
  • Java Development Kit (JDK) versi 11
  • Android Studio versi 3.3

Tugas 1: Menambahkan Lifecycle untuk Memanggil Kembali (callback) TwoActivities

1.1

1.2 Mengimplementasikan Callback ke MainActivity

  1. Buka project TwoActivities di Android Studio, kemudian buka MainActivity.java.
  2. Pada method onCreate() tambahkan pernyataan log seperti berikut:
Log.d(LOG_TAG, "-------");
Log.d(LOG_TAG, "onCreate");

3. Tambahkan override pada method onStart().

@Override
public void onStart(){
super.onStart();
Log.d(LOG_TAG, "onStart");
}

4. Menggunakan method onStart() sebagai template untuk mengimplementasi onPause() , onRestart() , onResume() , onStop() , dan onDestroy().

5. Jalankan aplikasi.

6. Klik tab Logcat. Tab Logcat akan menampilkan pesan log.

1.3 Mengimplementasikan Callback Lifecycle pada SecondActivity

  1. Buka file SecondActivity.java.
  2. Tambahkan konstanta variabel LOG_TAG.
private static final String LOG_TAG = SecondActivity.class.getSimpleName();

3. Tambahkan log statements ke method returnReply() sebelum method finish() .

Log.d(LOG_TAG, "End SecondActivity");

1.4 Mengamati Log Ketika Aplikasi Berjalan

  1. Jalankan aplikasi.
  2. Klik tab Logcat.
  3. Masukkan Activity pada kotak pencarian.

Tugas 2 : Menyimpan dan Memperbaiki Instance State

2.1 Menyimpan Instance Activity dengan onSaveInstanceState()

  1. Buka MainActivity.java.
  2. Tambahkan kode berikut.
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}

3. Cek header apakah terlihat , jika ya, letakkan visibility state ke state Bundle dengan method putBoolean() dan key “reply_visible” .

4. Tambahkan kode berikut pada method Bundle.

2.2 Memperbaiki Activity Instance State pada onCreate()

  1. Tambahkan kode berikut untuk menguji bahwa savedInstanceState tidak null.
// Restore the state.
if (savedInstanceState != null) {
}

2. Tambahkan dalam Bundle kode berikut.

if (savedInstanceState != null) {
boolean isVisible =
savedInstanceState.getBoolean("reply_visible");
}

3. Tambahkan kode berikut di bawah baris kode langkah 2.

4. Dalam isVisible tambahkan kode berikut.

mReplyHeadTextView.setVisibility(View.VISIBLE);
mReplyTextView.setText(savedInstanceState.getString("reply_text"));
mReplyTextView.setVisibility(View.VISIBLE);

5. Jalankan aplikasi. Rotate device untuk memastikan bahwa pesan balasan tetap ada di layar setelah Activity dibuat ulang.

Sumber:

https://codelabs.developers.google.com/codelabs/android-training-activity-lifecycle-and-state/index.html?index=..%2F..%2Fandroid-training#0

--

--

Inas
Android Studio

A tech enthusiast, a blogger, and currently a Software Documentation Engineer | Personal blog: www.muthiainas.com