Pengaktifan Activity secara Explicit Pemrograman Bergerak Pengaktifan Activity secara Explicit 1
Pembuatan Activity Baru Siapkan Layout untuk Activity. Klik kanan pada Package aplikasi anda, dan pilih new, Class. Name: SegitigaActivity Modifiers: public Superclass: android.app.Activity 2
Quiz Setiap Activity pada Aplikasi Android adalah subclass dari ? 3
Segitiga Activity public class SegitigaActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.segitiga); } public void hitungOnClick(View v) { TextView editAlas = (TextView) findViewById(R.id.editAlas); TextView editTinggi = (TextView) findViewById(R.id.editTinggi); TextView textHasil = (TextView) findViewById(R.id.textHasil); Double nAlas = Double.parseDouble(editAlas.getText().toString()); Double nTinggi = Double.parseDouble(editTinggi.getText().toString()); Double nLuas = 0.5*nAlas*nTinggi; textHasil.setText(String.format("Luas segitiga adalah %1$.2f", nLuas)); 4
Quiz Penentuan Layout untuk suatu activity adalah menggunakan perintah? 5
Mendaftarkan Activity ke AndroidManifest.xml Aktifkan ke page Application, dan pada bagian Application Nodes, klik pada Add... Pilih Activity Name: Nama Activity Label: Judul Activity 6
Quiz Apa tujuan intent android.intent.action.Main? Apa tujuan intent android.intent.category.LAUNCHER? Apakah suatu aplikasi dapat memiliki lebih dari satu Activity dengan android.intent.action.Main lebih dari satu? Mengapa? Apakah suatu aplikasi dapat memiliki lebih dari satu Activity dengan android.intent.category.LAUNCHER lebih dari satu? Mengapa? 7
Mengaktifkan Activity secara Explicit dari Activity Lain public class MenuActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void segitigaOnClick(View v) { Intent intent = new Intent(); intent.setClass(this, SegitigaActivity.class); startActivity(intent); public void selesaiOnClick(View v) { finish(); Secara explicit activity diaktifkan dengan menyebutkan nama Class, dan Class tersebut berada pada project yang sama. Secara program anda dapat mengakhir suatu Activity dengan memanggil metode finish(). 8
Quiz Kita memiliki sebuah Activity Class dengan nama PersegiActivity, maka pada bagian ?????? diisi dengan ________ Intent intent = new Intent(); intent.setClass(this, ??????????); startActivity(intent);
Quiz Apa fungsi perintah finish() terkait dengan Activity?
Activity Stack Activity pada Android diatur oleh ActivityManager, setiap activity yang diaktifkan akan tempatkan pada suatu Activity Stack. Activity yang visible dan focus berada pada posisi diatas stack. 11
Pertukaran Data antar Activity Pada SegitigaActivity.class public void segitigaOnClick(View v) { Intent intent = new Intent(); intent.setClass(this, SegitigaActivity.class); intent.putExtra("panjang", 100); intent.putExtra("lebar", 50); startActivity(intent); } super.onCreate(savedInstanceState); setContentView(R.layout.segitiga); Intent intent = getIntent(); Bundle bundle = intent.getExtras(); if (bundle != null) { Integer panjang = bundle.getInt("panjang"); Integer lebar = bundle.getInt("lebar"); TextView editPanjang = (TextView) findViewById(R.id.editPanjang); TextView editLebar = (TextView) findViewById(R.id.editLebar); editPanjang.setText(panjang.toString()); editLebar.setText(lebar.toString()); Pengirim Penerima
Pengembalian Nilai Pada Activity Pada SegitigaActivity.class public void onSelesaiClick(View v) { Intent intent = new Intent(); intent.putExtra("hasil", 2000); this .setResult(RESULT_OK, intent); finish(); } Pada Aktivity Utama public void onClick(View v) { intent.setClass(this, Persegi.class); startActivityForResult(intent,1); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode,resultCode, data); if (resultCode==RESULT_OK && requestCode ==1){ Integer hasil=data.getIntExtra("hasil", 0);
Latihan Buatlah suatu aplikasi Android dengan pilihan hitung Luas Lingkaran, Luas Segitiga, Luas Persegi, Luas Jajaran Genjang, dimana masing- masing activity diaktifkan dengan suatu menu utama. 14
Sekian & Terima Kasih 15 15