WEBVTT

00:00.110 --> 00:02.080
En gefeliciteerd, jongens.

00:02.090 --> 00:08.600
Dit is onze applicatie die Jack weergeeft als een contactpersoon uit onze ruimtedatabase.

00:08.600 --> 00:15.590
Maar er is een probleem als ik de applicatie opnieuw uitvoer met de ID gelijk aan één, dan zal er een fout optreden

00:15.620 --> 00:19.490
omdat ik de ID specificeer en in de ruimtedatabase.

00:19.490 --> 00:28.160
Het is een unieke identificatie, dus ik moet het verwijderen en naar de contactpersonenconstructor gaan en de ID hier verwijderen

00:28.160 --> 00:36.510
omdat de ruimtedatabase deze taak zal uitvoeren en automatisch nieuwe contactpersonen zal genereren met de nieuwe ID's.

00:36.530 --> 00:39.740
Voer het programma uit en het zal het probleem weer oplossen.

00:39.740 --> 00:46.730
Dan ga ik naar de hoofdactiviteit en moet ik de contactpersonen weergeven in de recyclerweergave.

00:46.730 --> 00:51.800
Dus daarvoor moet ik deze ArrayList opnieuw vullen.

00:51.890 --> 01:03.450
Ik moet deze lijst met contactpersonen toewijzen aan de ongewijzigde methode Contacts array list dot add C, zodat elk contact in de lijst

01:03.450 --> 01:10.260
met contactpersonen wordt toegevoegd aan de lijst met contactpersonen.

01:10.260 --> 01:13.290
Ik moet deze lijnen verplaatsen.

01:13.290 --> 01:14.460
De adapter.

01:18.070 --> 01:19.950
Onder het ViewModel.

01:19.960 --> 01:21.580
Contacten in acht nemen.

01:21.610 --> 01:22.270
Lijst met arrays.

01:22.300 --> 01:24.010
Laat me de toepassing uitvoeren.

01:24.010 --> 01:27.240
En we hebben deze null pointer uitzonderingen.

01:27.250 --> 01:33.730
Ik kan ze oplossen door hier de contactenlijst te wijzigen, te verwijderen en.

01:33.730 --> 01:34.270
Oké.

01:34.270 --> 01:42.160
Ik moet het eerst initialiseren, dus ik zal scrollen en ik moet een nieuwe array-lijst initialiseren.

01:42.190 --> 01:43.120
Voer het opnieuw uit.

01:43.120 --> 01:44.310
En daar gaan we.

01:44.320 --> 01:45.700
Dit is onze toepassing.

01:45.700 --> 01:46.780
Het werkt prima.

01:46.780 --> 01:50.440
Als ik Tag zoek, kan ik de contacten zien.

01:50.440 --> 01:58.090
Dus elke keer als ik de applicatie start, wordt er een nieuwe jack aangemaakt met een andere ID en in onze database

01:58.090 --> 01:59.080
geplaatst.

01:59.080 --> 02:06.250
En de belangrijkste truc hier is om de gegevens die recycler bekijken op de hoogte te brengen van de nieuwe gegevens.

02:06.250 --> 02:16.540
Dus ik gebruik mijn adapter dot notify data set changed method binnen ViewModel dot observe method.

02:16.540 --> 02:19.460
Dit is het belangrijkste deel hier.

02:19.460 --> 02:28.010
Om de gegevens van logcat weer te geven in de items van de recycler-weergave, moet u de gegevensset op de hoogte stellen.

02:28.010 --> 02:35.060
De methode Veranderd is een methode van de recycler view-adapter om de recycler view te laten weten dat de onderliggende

02:35.060 --> 02:41.570
gegevens zijn gewijzigd en dat de recycler view zijn views moet vernieuwen om deze wijzigingen weer te geven.

02:41.570 --> 02:49.310
Deze methode wordt vaak gebruikt als je wijzigingen hebt aangebracht in de gegevensbron en je wilt dat de recycler-weergave deze

02:49.670 --> 02:55.340
wijziging weergeeft en je moet ervoor zorgen dat de UI dienovereenkomstig wordt bijgewerkt.

02:55.340 --> 02:58.820
Laten we de applicatie stoppen en opnieuw uitvoeren.

02:58.820 --> 03:01.280
En de felicitaties.

03:01.280 --> 03:08.480
We zijn erin geslaagd om de items van de recycler-weergave uit de ruimtedatabase weer te geven.
