WEBVTT

00:00.140 --> 00:01.070
Selamat datang kembali.

00:01.070 --> 00:05.150
Mari kita lanjutkan dengan lapisan tampilan arsitektur Mvvm.

00:05.150 --> 00:12.440
Dan dalam video ini, kita akan menampilkan semua data, semua kontak yang diterima dari database ruangan ke dalam tampilan

00:12.440 --> 00:14.900
pendaur ulang aktivitas utama.

00:14.900 --> 00:20.930
Untuk itu, saya perlu mendefinisikan data, sumber, adaptor, dan objek pengikat.

00:20.930 --> 00:22.640
Dimulai dengan sumber data.

00:22.640 --> 00:31.640
Saya perlu membuat objek database kontak bernama database kontak dan saya akan membuat daftar array

00:31.640 --> 00:33.350
objek kontak.

00:33.350 --> 00:42.680
Di sini saya perlu membuat objek dari kelas adapter private my adapter dan di sini saya perlu membuat objek untuk pengikatan

00:42.680 --> 00:43.850
data.

00:43.850 --> 00:52.160
Saya memiliki dua variabel, satu untuk pengikatan utama aktivitas, pengikatan utama, dan satu lagi untuk penangan klik yang telah

00:52.160 --> 00:55.730
kita buat sebelum aktivitas utama penangan klik.

00:55.730 --> 01:02.790
Dan ini adalah kelas yang telah kita buat sebelumnya yang menangani peristiwa klik pada tombol Fab Floating Action.

01:02.790 --> 01:06.090
Mari kita inisialisasi di sini dalam metode Oncreate.

01:06.090 --> 01:16.050
Pengikatan utama sama dengan pengikatan data util dot Setcontentview ini dan meneruskan tata letak dot aktivitas dot pengikatan data utama util dot

01:16.080 --> 01:23.850
Setcontentview adalah metode yang disediakan oleh pustaka pengikatan data Android yang memungkinkan Anda untuk

01:23.850 --> 01:30.300
mengatur tampilan konten aktivitas atau fragmen dengan pengikatan data yang diaktifkan.

01:30.300 --> 01:38.280
Ini menyederhanakan proses penggunaan pengikatan data untuk mengikat elemen UI ke sumber data dalam file XML tata letak

01:38.280 --> 01:38.820
Anda.

01:38.820 --> 01:46.260
Kemudian saya perlu menginisialisasi penanganannya sama dengan penangan aktivitas utama yang baru dan saya akan meneruskannya sebagai konteks.

01:46.260 --> 01:53.160
Kemudian saya perlu menautkan penangan klik set titik pengikatan aktivitas utama ke penangan.

01:53.160 --> 01:59.850
Jadi, di sini saya menautkan penangan klik aktivitas utama ini ke pengikatan aktivitas utama.

01:59.850 --> 02:05.700
Mari kita beralih ke inisialisasi tampilan pendaur ulang kita dan mendefinisikan pengelola tata letak untuknya.

02:05.700 --> 02:14.790
Tampilan Pendaur Ulang Tampilan Pendaur Ulang sama dengan aktivitas Pendaur ulang titik pengikatan utama Tampilan Pendaur Ulang Tampilan Pendaur Ulang Tampilan Pengaturan

02:14.790 --> 02:15.600
Tata Letak.

02:15.600 --> 02:23.070
Manajer tata letak linier baru yang melewati ini dan set titik tampilan pendaur ulang memiliki ukuran tetap ke true.

02:23.070 --> 02:32.340
Pada baris ini, saya mendapatkan referensi ke widget tampilan pendaur ulang dari tata letak yang menggunakan pengikatan data di

02:32.340 --> 02:33.090
Android.

02:33.090 --> 02:40.050
Ini disebut pengikatan utama, jadi ini adalah objek yang menggunakan dan merujuk ke aktivitas ini.

02:40.050 --> 02:41.250
Garisbawahi utama.

02:41.250 --> 02:47.370
Dan saya akan menggunakan referensi untuk tampilan pendaur ulang yang disebut tampilan pendaur ulang di sini.

02:47.370 --> 02:55.800
Jadi, baris ini digunakan untuk mendapatkan referensi ke widget tampilan pendaur ulang dari tata letak yang menggunakan pengikatan data

02:55.800 --> 02:56.820
di Android.

02:56.820 --> 03:03.180
Referensi ini memungkinkan Anda untuk berinteraksi dan memanipulasi tampilan pendaur ulang secara terprogram dalam

03:03.180 --> 03:06.840
kode aplikasi Android Anda menggunakan pustaka pengikatan data.

03:06.840 --> 03:15.270
Kemudian mari kita pindah untuk membuat adaptor yang sama dengan adaptor saya yang baru dan saya akan meneruskan kontak sebagai daftar array.

03:15.270 --> 03:23.850
Mari kita pindah ke database kontak database sama dengan database kontak dot get instance dan saya perlu mengoper

03:23.850 --> 03:26.010
konteks get instance.

03:26.010 --> 03:35.160
Seperti yang saya katakan sebelumnya di database kontak, ini akan mengembalikan satu contoh database kontak karena kita

03:35.160 --> 03:37.380
mengikuti pola tunggal.

03:37.380 --> 03:40.200
Kalau begitu, saya harus menggunakan model view.

03:40.200 --> 03:42.930
Jadi saya akan membuat instance ViewModel.

03:42.930 --> 03:52.200
ViewModel Penyedia ViewModel baru dot ini mendapatkan kelas dot model view saya.

03:52.200 --> 04:01.290
Jadi, baris kode ini digunakan untuk mendapatkan, membuat, dan mengambil sebuah instance dari ViewModel yang terkait dengan aktivitas

04:01.290 --> 04:03.510
atau fragmen tertentu.

04:03.510 --> 04:04.830
Mari kita uraikan.

04:04.830 --> 04:10.560
ViewModel Provider adalah kelas yang disediakan oleh komponen arsitektur ViewModel Android.

04:10.560 --> 04:16.530
Ini digunakan untuk membuat dan mengelola model tampilan dalam lingkup aktivitas atau fragmen.

04:16.530 --> 04:23.790
Kata kunci ini biasanya merujuk pada aktivitas atau fragmen yang sedang berjalan dalam konteks kode Anda.

04:23.790 --> 04:27.330
Ini diteruskan sebagai argumen ke penyedia model tampilan.

04:27.330 --> 04:34.980
Ini menandakan bahwa Anda ingin membuat atau mengambil ViewModel yang terkait dengan aktivitas atau fragmen saat

04:34.980 --> 04:35.520
ini.

04:35.520 --> 04:41.580
Metode get dari ViewModel Provider dipanggil dengan kelas ViewModel yang Anda inginkan.

04:41.610 --> 04:48.630
Metode ini bertanggung jawab untuk membuat instance baru ViewModel jika belum ada atau mengembalikan

04:48.630 --> 04:51.360
instance yang sudah ada.

04:51.360 --> 04:56.010
Jika ya, maka saya akan menyisipkan kontak baru hanya untuk pengujian.

04:56.010 --> 04:59.630
Nanti kita akan membuat aktivitas baru yang seperti itu.

04:59.680 --> 05:04.470
Bertanggung jawab untuk membuat dan memasukkan kontak baru ke dalam database.

05:04.480 --> 05:06.520
Saya akan mulai dengan kontak.

05:06.550 --> 05:07.960
Kontak baru.

05:07.960 --> 05:09.620
ID akan menjadi satu.

05:09.640 --> 05:12.700
Ini tidak penting karena database.

05:12.700 --> 05:15.850
Basis data akan secara otomatis menghasilkan kunci utama.

05:15.880 --> 05:22.300
Maka namanya adalah Jack dan emailnya adalah Jack at gmail. com.

05:22.300 --> 05:30.420
Saya perlu memasukkannya ke dalam basis data kita, jadi saya akan menggunakan model view dot add new contact.

05:30.430 --> 05:33.700
Anda bisa melihat, bahwa saya berurusan dengan model tampilan.

05:33.700 --> 05:40.570
Saya tidak berurusan langsung dengan basis data, saya berurusan dengan model tampilan dan model tampilan akan berurusan

05:40.570 --> 05:45.070
dengan repositori dan repositori akan berurusan dengan basis data ruangan.

05:45.070 --> 05:48.670
Beginilah cara kerja arsitektur Mvvm.

05:48.670 --> 05:56.740
Kemudian saya perlu menggunakan adaptor dot set tampilan pendaur ulang yang menghubungkan adaptor dengan adaptor tampilan pendaur

05:56.740 --> 06:03.080
ulang dan sebelum menautkan tampilan pendaur ulang, saya perlu memuat data dari database.

06:03.080 --> 06:05.240
Yang perlu saya lakukan adalah.

06:05.270 --> 06:07.100
Melihat titik model.

06:07.100 --> 06:09.290
Dapatkan semua kontak.

06:09.290 --> 06:16.760
Kemudian saya perlu menggunakan metode observe dan metode observe digunakan untuk mengamati atau mendengarkan perubahan

06:16.760 --> 06:20.840
pada data dasar yang dimiliki oleh objek data langsung.

06:20.840 --> 06:28.730
Anda menggunakan metode observe pada objek data langsung dan mengoper pengamat yang telah Anda buat.

06:28.730 --> 06:34.520
Metode Observe menetapkan koneksi antara data langsung dan pengamat.

06:34.520 --> 06:39.830
Ini memberi tahu data langsung untuk memberi tahu pengamat ketika data berubah.

06:39.830 --> 06:45.260
Saya harus memberikan dua parameter, satu untuk pemilik dan satu lagi untuk pengamat.

06:45.260 --> 06:51.770
Jadi saya menghubungkan Observer di sini dengan observe, dan saya akan menimpa metode on changed, dan objek

06:51.770 --> 06:58.040
observer mendefinisikan perilaku yang akan dieksekusi ketika data langsung pengguna berubah.

06:58.040 --> 07:02.870
Dalam hal ini, ini bereaksi terhadap perubahan dalam data konteks.

07:02.900 --> 07:07.970
Saya akan menggunakan perulangan for untuk setiap perulangan yang bertipe konteks.

07:08.000 --> 07:11.930
Lihat di dalam daftar susunan kontak.

07:11.930 --> 07:16.910
Pertama-tama saya akan memasukkannya ke dalam logcat dan kemudian menampilkannya ke dalam tampilan pendaur ulang.

07:16.910 --> 07:22.850
Jadi untuk itu saya akan membuat tag log dot v dan c dot get name.

07:22.880 --> 07:27.500
Saya akan menampilkan semua nama kontak dalam database saya.

07:27.500 --> 07:31.580
Mari jalankan aplikasi ini dan uji kode kita.
