riview java tentang activity
Aplikasi Android setidaknya memiliki satu atau lebih Activity.
“Bagaimana kalau tidak memiliki Activity?”
Aplikasi itu akan menjadi aplikasi yang hanya bisa berjalan secara background saja dan tidak memiliki tampilan apa-apa.
Alias aplikasi demit .
Pada kesempatan ini kita akan berkenalan dengan Activity dan memahami siklus hidup Activity dalam aplikasi.
Mari kita mulai…
Pengertian Activity
Activity adalah komponen yang dapat dilihat oleh pengguna, sehingga mereka dapat berinteraksi dengan aplikasi.
Bila dibandingkan dengan aplikasi web dan desktop, Activity sama seperti halaman dan form.
Android | Web | Desktop |
---|---|---|
Activity | Halaman | Form |
Activity tidak hidup abadi selamanya, dia bisa diciptakan dan dihancurkan.
Activity memiliki siklus hidup (lifecycle) yang merupakan kondisi yang akan dialami saat diciptakan sampai dihancurkan.
Ada beberapa kondisi yang akan dialami oleh Activity seperti yang tergambar pada flow chart berikut ini.
Penjelasannya:
onCreate()
adalah kondisi awal saat Activity baru diciptakan, biasanya dilakukan inisialisasi pada tahapan ini.onStart()
adalah saat Activity dimulaionResume()
adalah saat Activity dibuka kembali, biasanya dieksekusi setelahonPause()
onPause()
akan dipanggil saat ada Activity lain yang terbuka.onStop()
adalah kondisi saat Activity tidak ditampilkan dilayar (biasanya saat pengguna menekan tombol Home).onRestart()
adalah kondisi saat Activity kembali dibuka oleh pengguna.onDestroy()
adalah kondisi saat Activity dihancurkan pada memori.
Latihan Activity
Baik! agar lebih paham pembahasan di atas, sekarang kita latihan dengan membuat aplikasi sederhana.
Membuat Proyek Baru
Silahkan buat proyek baru dengan nama LatihanActivity.
Kemudian tentukan minimum SDK yang digunakan.
Selanjutnya, pilih jenis Activity yang akan dibuat. Pilih saja Blank Activity.
Setelah itu, isi nama Activity-nya dengan MainActivity.
Tunggulah beberapa saat…
Proyek kita sedang dibuat.
Saatnya Coding
Aplikasi ini hanya bertugas menampilkan pesan dengan Toast, untuk menujukan kondisi siklus hidup Activity.
Ada dua tombol yang akan kita buat:
- Tombol untuk membuka Activity lain (buka URL dengan browser);
- Tombol untuk menutup Activity.
Mari kita buat…
Silahkan buka file
activity_main.xml
, kemudian kondisikan kodenya seperti ini.
(jangan dicopas, sebaiknya diketik sendiri agar lebih paham)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.petanikode.latihanactivity.MainActivity">
<Button
android:id="@+id/btn_start_activity"
android:text="Buka Activity Lain"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn_close"
android:text="Tutup Activity"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Setelah itu, silahkan buka MainActivity.java
dan ikuti kode berikut.
package com.petanikode.latihanactivity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.net.Uri;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
// deklarasi komponen
Button btnClose, btnStartActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// inisialisasi komponen
btnClose = (Button) findViewById(R.id.btn_close);
btnStartActivity = (Button) findViewById(R.id.btn_start_activity);
btnClose.setOnClickListener(this);
btnStartActivity.setOnClickListener(this);
Toast.makeText(this, "Activity: onCreate()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart(){
super.onStart();
Toast.makeText(this, "Activity: onStart()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume(){
super.onResume();
Toast.makeText(this, "Activity: onResume()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onPause(){
super.onPause();
Toast.makeText(this, "Activity: onPause()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStop(){
super.onStop();
Toast.makeText(this, "Activity: onStop()", Toast.LENGTH_SHORT).show();
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_start_activity:
// buka activity browser
Intent petanikodeActivity = new Intent(Intent.ACTION_VIEW);
petanikodeActivity.setData(Uri.parse("http://petanikode.com"));
startActivity(petanikodeActivity);
break;
case R.id.btn_close:
finish();
break;
}
}
}
Komentar
Posting Komentar