Pengertian Activity pada pemrograman Android :
- adalah sebuah komponen aplikasi android yang berfungsi menghasilkan suatu tampilan layar di mana user dapat melakukan interaksi (seperti menekan tombol, mengisi teks, mengetuk layar, menggeser layar).
- pada umumnya sebuah aplikasi memiliki beberapa activity.
- pada kebanyakan kasus, sebuah activity akan dijadikan sebagai yang utama di mana dapat diakses oleh berbagai level dari launcher (mungkin terdapat lebih dari 1 level).
- menjalankan sebuah activity yang baru menyebabkan activity sebelumnya menjadi terhenti dan meletakkan sebuah activity yang baru pada stack.
- menutup sebuah activity (semisal dengan menekan tombol Back) menyebabkan suatu activity akan dikeluarkan dari stack.
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.
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.
Silahkan buka file activity_main.xml, kemudian kondisikan kodenya seperti ini.
<?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" /> </LinearLayout>
Maka sekarang kita memiliki dua buah tombol.
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;
}
}
}
Setelah itu, silahkan coba jalankan aplikasi
dari menu run–>Run (app)
Bedah
Kode
Pertama kita membutuhkan beberpa Class
untuk melengkapi aplikasi ini:
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
Lalu ada Class MainActivity
yang merupakan turunan dari Class AppCompatActivity dan
mengimplementasikan Interface View.OnClickListener untuk meng-handle event
onClick().
public class MainActivity extends AppCompatActivity
implements View.OnClickListener {
//...
}
Selanjutnya, kita deklarasikan
komponen (dua tombol) yang dibutuhkan dalam kode.
// deklarasi komponen
Button btnClose, btnStartActivity;
Dua tombol tersebut, kemudian
diinisialisasikan pada method onCreate(). Method ini akan
dieksekusi setiap Activity dicitpakan.
@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();
}
Dalam inisialisasi komponen, kita
membuat objek dari komponen yang ada di activity_main.xml ke java dengan
bantuan fungsi findViewById().
btnClose = (Button) findViewById(R.id.btn_close);
btnStartActivity = (Button)
findViewById(R.id.btn_start_activity);
Setelah itu, kita bisa tentukan Class
yang akan meng-handle komponen tersebut apabila diklik dengan method setOnClickListener().
btnClose.setOnClickListener(this);
btnStartActivity.setOnClickListener(this);
Selanjutnya, kita tampilkan pesan Toast
pada method onStart(), onStop(), onPause() dan onResume().
@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();
}
Terakhir, kita buat kode untuk
meng-handle event onClick() (saat tombol diklik).
@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;
}
}
Pada kode di atas, kita menggunakan
fungsi finish() untuk mengakhiri Activity.
Maka setelah pemanggilan fungsi finish(),
Activity akan menjadi onStop() atau onDestroy() bila sudah terhapus dalam
memori.
Terkait dengan onDestroy() saya sudah coba membuatnya di MainActivity, tapi belum bisa dieksekusi.
Menurut beberapa pendapat di
StackOverflow, onDestroy() berlaku unutk Activity yang di-finish()
secara eksplisit
0 comments:
Posting Komentar