Komponen activity Dosen: Maimun, S.T., M.T.. 1. Activity Kegiatan apa yang akan ditampilkan dan dilakukan user pada sebuah window Berisi lifecycle / daur.

Slides:



Advertisements
Presentasi serupa
3 – Activity and Intent Willy, M.Kom.
Advertisements

Struktur Kode Program MIDlet As’ad Djamalilleil
Struktur Kode Aplikasi Java (2) As’ad Djamalilleil
Workshop SCS: Java Game Programming
Mendapatkan input dari keyboard
07 Advanced Class Features
Struktur Project Android
Mobile Programming Pertemuan 3 Presented by Mulyono
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
Mobile Programming Intro Android.
UI Controls dengan Widget TextView, EditText dan Button
Stack (Tumpukan) Pertemuan 4 Season 1
Pengelolaan Database Lanjutan
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
MODIFIER JAVA.
Content Provider pada Android
Tipe Data, Variabel, dan Operator
Pemrograman Bergerak Pembuatan Service 1.
Tumpukan Dengan Array Ika Menarianti.
Struktur Class Java Android
Pemrograman Perangkat Mobile
Pengelolaan Database Lanjutan 2
As’ad Djamalilleil Struktur Android As’ad Djamalilleil
As’ad Djamalilleil Intent As’ad Djamalilleil
Review Materi Java Fundamental
Tipe Data, Variabel, dan Operator
Pemrograman Bergerak Pembuatan Activity 1.
Dasar Bahasa Java.
Mekanisme penyimpan data pada Android
ANDROID ACTIVITY.
Komponen GUI Menambahkan Komponen.
Mobile computing – Android Activity dan Intent
Struktur Aplikasi Android
Content Provider pada Android
Pemrograman Perangkat Mobile
DISKUSI PERTEMUAN 3 Pemrograman mobile 2 Ti 15 D
Pertemuan 3 : Komponen Aplikasi Android
Diskusi Pertemuan 4 Anggota : Kukuh Prasetyo Adhi ( ) Warsito Aji ( ) Karima Dewi R ( ) Alfano Kurniawan W ( ) Bagus.
P E R T E M U A N 5 FRAGMENT.
PEMROGRAMAN MOBILE 2 Nama Anggota : Moh.Solahudin ( )
PEMROGRAMAN MOBILE Kelompok 2
Anggota Kelompok: 1. Rinta Setyo Nugroho 2. Anan Ar Rozzaq
PEMROGRAMAN MOBILE 2 KELOMPOK 7 TI 15 D.
PEMROGRAMAN MOBILE 2 Dina Murniati Putri (NIM )
Notification, Dialog, dan Intent
PEMROGRAMAN MOBILE Kelompok 2
FRAGMENT KELOMPOK 3 Abdurahman Agung Edi W Eko Prasetyo Fahrul Rosi
FRAGMENT Pemrograman Mobile 2 Disusun Oleh :
Kelompok 3 Khoerul Umam Dwi Yulianto K.W
Pengenalan Pemrograman Mobile PART 5 - FRAGMEN.
KELOMPOK 6 Ragil Setiawan Muhamad Ma’ruf Siti Roudhotul Janah
Kelompok 3 Khoerul Umam Dwi Yulianto K.W
Fragment Nama anggota : Andian Ramadhan
FRAGMENT Nama anggota :
PERTEMUAN 5 KELOMPOK 2.
9 Mobile Computing 2 SKS Dedy Alamsyah, S.Kom..
PENGENALAN Pemrograman MOBILE 2
Klompok 2 Dedi wahyudi ( ) Muhammad ichan ( )
Webservice mobile Nama Kelompok : Ragil Setiawan ( )
ANDROID LOCATION BASED SERVICE
Mobile Programming Intent dan Activity.
Mobile Programming Folder Resources (Res) dan tata kelolanya
Tipe Data, Variabel, dan Operator
PEMROGRAMAN MOBILE PERTEMUAN KE-5
Mobile Computing Fery Updi, M.Kom..
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Pemrograman Perangkat bergerak Dosen: RBD
Pemrograman Perangkat bergerak Dosen: RBD
PEMROGRAMAN MOBILE 1 PERTEMUAN 4
PEMROGRAMAN MOBILE 1 RPS 8
Transcript presentasi:

Komponen activity Dosen: Maimun, S.T., M.T.

1. Activity Kegiatan apa yang akan ditampilkan dan dilakukan user pada sebuah window Berisi lifecycle / daur hidup saling berhubungan dari sebuah activity ke activity lainnya Bersifar Last In First Out (LIFO), activity terakhir masuk ke stack maka akan keluar lebih dahulu Layout activity berada pada file activity_main.xml Seluruh activity terlihat di AndroidManifest.xml /activity-lifecycle

Mekanisme LIFO 1. Aktivitas diluncurkan 2. Aktivitas dibentuk  onCreate() 4. Aktivitas dimunculkan  onResume() 5. Aktivitas 1 dijalankan  masuk ke stack activity 3. Aktivitas dimulai  onStart() 6. Aktivitas 1 ditunda  onPause() bila tidak digunakan 8. Aktivitas 2 dimulai  onRestart() 7. Aktivitas 1 dihentikan  onStop() bila beralih ke aktivitas lain 9. Aktivitas 2 running 10. Aktivitas 2 masuk ke stack (Last In) 11. Aktivitas 2 selesai  onDestroy() 12. Aktivitas 2 keluar (First Out) 13. Bila aktivitas 1 selesai  shutdown Atau bila aktivitas 1 habis memory  Killed Activity launched Activity Running App process killed Activity shut down onCreate() onStart() onResume( ) onDestroy onStop() onPause() onRestart() Activity1 Activity 2

Saving Activity State 1. Bila aktivitas mengalami pause/stop maka informasi tersimpan di Bundle  onSaveInstanceState() 2. Aktivitas tak tak terlihat 3. Saat activity dimunculkan secara normal  onRestart() 5.Kemudian Activity dipanggil kembali  onRestoreInstanceState() atau Activity dibentuk kembali bila tidak ada di Bundle  onCreate() 4.Bila aplikasi lain memerlukan memory maka secara prioritas activity  onDestroy() contoh: pergantian layar, penampilan keyboard,

Aplikasi hitung volume balok 1. Buat layout aplikasi  activity_main.xml <LinearLayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.funtasiaapp.praktek1_namaanda.MainActivity">  LinearLayout=parent semua komponen view  namespace menggunakan attribute dan tag dari android.com  penanda format XML Mendefinisikan dimensi layar berdasarkan dimens.xml <TextView android:layout_width="match_parent" android:layout_height="wrap_content"  TextView =menampilkan text ke layar  match_parent = sesuai uk layar  wrap_content = sesuai uk konten  android:text = isi text  android:layout_marginBottom= uk berdasarkan density pixel (dp)

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="numberDecimal" android:lines="1"  EditText = input teks  android:id = memberikan identitas utk operasi logic di MainActivity.java  inputType = tipe teks  bil decimal  android:lines = jumlah baris <Button android:layout_width="match_parent" android:layout_height="wrap_content" <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Hasil" android:gravity="center" android:textSize="24sp" android:textStyle="bold"  Button = memberikan aksi klik  android:gravity = menempatkan text di tengah  android:textSize = uk teks  android:textStyle= style teks

2. Buat logika program  MainActivity.java Belajar java di: package com.funtasiaapp.praktek1_namaanda; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private EditText edtWidth, edtHeight, edtLength; private Button btnCalculate; private TextView tvResult;  Import attribute dan tag android  public class = Mendefinisikan kelas Java activity bernama AppCompatActivity  Implement View.OnClickListener = membaca Klik dan merubah warna saat dipilih  Private = deklarasi komponen didalamnya untuk dimanipulas pada bagian kelas

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edtWidth = (EditText)findViewById(R.id.edt_width); edtLength = (EditText)findViewById(R.id.edt_length); edtHeight = (EditText)findViewById(R.id.edt_height); btnCalculate = (Button) findViewById(R.id.btn_calculate); tvResult=(TextView) findViewById(R.id.tv_result); btnCalculate.setOnClickListener(this); if(savedInstanceState !=null){ String hasil=savedInstanceState.getString(STATE_HASIL); tvResult.setText(hasil); } Metode onCreate = metode utama  Deklarasi metode onCreate = inisialisasi komponen sesuai layout bersifat akses terbatas (protected)  super.onCreate = memanggil metode onCreate() berdasarkan instance yang tersimpan di memori  setContentView() = menampilkan layout activity_main.xml  edtWidth, edtLength, edtHeight, btnCalculate dan tvResult mendefinisikan komponen EditText, Button, TextView dengan id layout  btnCalculate.setOnClickListener() = objek button ini (this) terpasang onClickListener.  savedInstanceState !=null  bila informasi di Bundle tidak sama (!) kosong  String hasil = nilai diambil di bundle dengan name STATE_HASIL  tvResult.setText()=menampilkan hasil

@Override public void onClick(View v) { if (v.getId() == R.id.btn_calculate) { String length = edtLength.getText().toString().trim(); String width = edtWidth.getText().toString().trim(); String height = edtHeight.getText().toString().trim(); boolean isEmptyFields = false; if (TextUtils.isEmpty(length)) { isEmptyFields = true; edtLength.setError("Field ini tidak boleh kosong"); } if (TextUtils.isEmpty(width)) { isEmptyFields = true; edtWidth.setError("Field ini tidak boleh kosong"); } if (TextUtils.isEmpty(height)) { isEmptyFields = true; edtHeight.setError("Field ini tidak boleh kosong"); } if (!isEmptyFields) { double l = Double.parseDouble(length); double w = Double.parseDouble(width); double h = Double.parseDouble(height); double volume = l*w*h; tvResult.setText(String.valueOf(volume)); }} } Metode onClick  Deklarasi metode onClick() = inisialisasi komponen string saat klik.  String = Deklarasi length, width, height dalam karakter  getText() = mengambil input Text  toString() = merubah ke String  trim() = memotong space Text  booleanisEmptyFields = field tidak boleh kosong  TextUtils.IsEmpty() = memeriksa value apakah kosong  setError = menampilkan pesan error  !isEmptyFields = ! Artinya tidak sama dengan  Double.parseDouble = tipe data angka dalam 64bit termasuk koma  tvResult.setText = mengatur tampilan teks  String.valueOf(volume)) = berupa String bernilai volume

private static final String STATE_HASIL = protected void onSaveInstanceState(Bundle outState) { outState.putString(STATE_HASIL, tvResult.getText().toString()); super.onSaveInstanceState(outState); } Metode onSaveInstanceState  private static final = deklarasi metode yang tidak dapat diubah (final) berasal dari nilai static dr metode lain dalam kelas yg sama (private).  Protected void = data diakses terbatas  onSaveInstanceState(Bundle outState) = metode penyimpanan pada Bundle outstate  outstate.putString =memasukkan nilai string STATE_HASIL dari nilai string tvResult.  super.onSaveInstanceState(outstate) = memanggil metode pada kelas Activity