Week 3 - Android Developer
Week 3 - Android Developer
Programming 1
Week 3
Viewgroup
LinearLayout
FrameLayout
RelativeLayout
TableLayout
Sebagai contoh,
berikut adalah tata letak XML yang menggunakan
LinearLayout vertikal untuk menyimpan TextView dan Button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a Button" />
</LinearLayout>
Design
Perbedaan
Ditambahkan pada API Level 1
Tidak dapat dihilangkan dengan swipping
Toast dapat digunakan di area di mana pesan Sistem perlu
Toast & ditampilkan. Dan hilang berdasarkan durasi yang di tentukan.
Snackbar Snackbar
Ditambahkan pada API Level 23
Dapat dihilangkan dengan swipping
Snackbar dapat digunakan di area dimana pesan popup sederhana
perlu ditampilkan bersamaan dengan pilihan untuk melakukan
tindakan. misal "undo" dsb.
Dialog adalah jendela kecil yang meminta pengguna untuk membuat
keputusan atau memasukkan informasi tambahan.
Dialog atau Dialog digunakan untuk peristiwa modal yang mengharuskan pengguna
untuk melakukan tindakan(konformasi) sebelum bisa melanjutkan.
AlertDialog
Untuk membuat AlertDialog:
Pembuatan
val builder: AlertDialog.Builder? = activity?.let {
AlertDialog.Builder(it)
}
AlertDialog builder?.setMessage(R.string.dialog_message)
.setTitle(R.string.dialog_title)
val dialog: AlertDialog? = builder?.create()
AlertDialog
MaterialAlertDialogBuilder(context)
.setTitle(resources.getString(R.string.title))
.setNeutralButton(resources.getString(R.string.cancel)) { dialog, which ->
// Respond to neutral button press
}
.setPositiveButton(resources.getString(R.string.ok)) { dialog, which ->
// Respond to positive button press
}
// Single-choice items (initialized with checked item)
.setSingleChoiceItems(singleItems, checkedItem) { dialog, which ->
// Respond to item chosen
}
.show()
MaterialAlertDialogBuilder(context)
....
//Multi-choice items (initialized with checked items)
.setMultiChoiceItems(multiItems, checkedItems) { dialog, which, checked ->
// Respond to item chosen
}
.show()
Ada beberapa jenis dari dialog diantaranya adalah :
Jenis-Jenis
AlertDialog, dialog yang bisa menampilkan judul, maksimum
tiga tombol, daftar item yang dapat dipilih, atau tata letak
kustom.
Saat suatu aplikasi kita jalankan, sebuah activity pasti akan melalui
atau bahkan sedang berada pada status berikut ini :
Activity
dalam sistem android dapat kita atur sedemikian rupa agar
penggunaan memori tetap efisien serta efektif, dan juga dapat
menghindari terjadinya memory leak.
Lifecycle Berikut adalah siklus hidup yang di lalui oleh suatu Activity :
Untuk menavigasi transisi di antara tahap siklus proses aktivitas, class
Activity menyediakan set inti sebanyak enam callback: onCreate(),
Activity
baru.
Activity & ketika user keluar dari aplikasi untuk sementara, misal user
sedang memesan makan melalui aplikasi tiba-tiba ada telpon
yang masuk, otomatis user akan meninggalkan activity untuk
Activity sementara waktu. Pada saat user kembali ke aplikasi, activity
akan memanggil method onResume() namun jika user tidak
Fragment
fragment juga memiliki sebuah class untuk menampung kode logika
dan file xml untuk merepresentasikan tampilannya.
Fragment Berikut ini beberapa hal lain yang juga perlu dipahami tentang
fragment :
Fragment memiliki layout, perilaku, dan daur hidupnya sendiri.
Lifecycle Fragment dapat dimanipulasi ketika activity sedang berjalan.
Fragment dapat berperilaku seperti activity dalam hal stack.
Fragment memiliki view, event dan logic nya sendiri.
Skema callback method apa saja yang akan dipanggil di dalam
fragment ketika terjadi perubahan.
Fragment &
Fragment
Lifecycle
Tahap Pertama, ketika activity pertama kali dibuat, fragment akan
Fragment & memanggil method berikut ini :
onCreate(Bundle) : dipanggil ketika fragment mempersiapkan
Fragment
tampilan.
onCreateView(LayoutInflater, ViewGroup, Bundle) : menciptakan
dan menampilkan kembali sesuai dengan hirarki View.
Intent
val moveIntent = Intent(this@MainActivity, DetailActivity::class.java)
startActivity(moveIntent)
Selanjutnya kita akan membuat sebuah Intent yang di dalamnya
akan membawa data ke Activity tujuan.
Mengirim MainActivity
SecondActivity