1 00:00:02,200 --> 00:00:08,410 Jeśli chodzi o odstępy, na komponencie wyboru obrazu, po prostu dodam tutaj trochę marginesu dolnego wynoszącego 2 00:00:08,410 --> 00:00:15,160 15, aby dodać odstępy między tym komponentem wyboru obrazu a wszystkim innym w formie, ale ważniejsze jest to, 3 00:00:15,160 --> 00:00:21,520 że w pewnym sensie przekażę ten wybrany obraz do naszego miejsca, naszego nowego ekranu miejsca, ponieważ właśnie 4 00:00:21,520 --> 00:00:25,870 tam potrzebujemy obrazu, nie potrzebuję go tutaj tylko jako podglądu, potrzebuję 5 00:00:25,870 --> 00:00:28,370 go również na innym ekranie. 6 00:00:28,600 --> 00:00:33,910 Cóż, w tym celu możemy przejść do naszego programu do robienia zdjęć, a 7 00:00:34,000 --> 00:00:41,590 kiedy ustawimy to jako podgląd, oczywiście możemy również sięgnąć do naszych rekwizytów i założyć, że otrzymamy powiedzmy na zdjęciu 8 00:00:41,620 --> 00:00:48,760 zrobionym rekwizyt, który powinien wskazywać na funkcję, która definiujemy na nowym ekranie miejsca, który możemy teraz wykonać i 9 00:00:48,780 --> 00:00:54,700 do tej funkcji przesyłam również mój imageUri. Więc nie przechowuję go tutaj wewnętrznie, aby 10 00:00:54,700 --> 00:01:01,730 mieć podgląd, ale przesyłam go również do komponentu nadrzędnego, że tak powiem, i powinno to być zrobione na zdjęciu. 11 00:01:01,920 --> 00:01:08,250 Aby wszystko zadziałało, musimy przejść do nowego ekranu miejsca i dodać to na zdjęciu wykonanym tutaj w 12 00:01:08,250 --> 00:01:10,350 selektorze obrazów, a teraz powinno 13 00:01:10,410 --> 00:01:14,510 to wskazywać na funkcję, która jest wykonywana przez selektor obrazów, kiedy 14 00:01:14,550 --> 00:01:16,410 to zrobiliśmy wybierz zdjęcie. 15 00:01:16,680 --> 00:01:22,950 Oczywiście tutaj też chcę zapisać tę wartość, więc dodam tutaj inny stan i jest 16 00:01:23,820 --> 00:01:27,300 to wartość obrazu lub po prostu obraz i 17 00:01:27,390 --> 00:01:38,540 zestaw obrazu, być może wybrany obraz i zestaw wybranej nazwy obrazu zależy od Ciebie, który początkowo jest puste lub niezdefiniowane w ten sposób, a teraz 18 00:01:38,540 --> 00:01:40,280 możemy dodać do 19 00:01:40,280 --> 00:01:42,470 tego nową funkcję, tutaj 20 00:01:42,470 --> 00:01:50,240 zrobiona procedura obsługi obrazu, która na końcu odbiera ścieżkę obrazu, prawda, to właśnie przekazujemy z selektora obrazów, 21 00:01:50,240 --> 00:01:53,990 gdy wywołujemy tę funkcję, a następnie ustawiamy wybrany 22 00:01:54,230 --> 00:02:01,370 obraz do ścieżki obrazu otrzymujemy jako argument, a program obsługi obrazu jest teraz przekazywany do selektora 23 00:02:01,370 --> 00:02:06,800 obrazu za pomocą rekwizytu wykonanego na zdjęciu i w ten sposób komunikujemy 24 00:02:06,920 --> 00:02:14,140 się między selektorem zdjęć a nowy ekran miejsca. Kiedy teraz klikamy przycisk Zapisz i 25 00:02:14,140 --> 00:02:20,850 dlatego wykonywana jest procedura obsługi zapisu miejsca, kiedy wysyłamy tę akcję dodawania 26 00:02:20,860 --> 00:02:24,010 miejsca, chcę teraz przesłać wybrany 27 00:02:24,100 --> 00:02:32,380 obraz, więc tutaj ten stan jest stały. Oczywiście w tym celu musimy nieco ulepszyć kreatora dodawania 28 00:02:32,380 --> 00:02:38,740 akcji miejsca, teraz oczekuje tylko tytułu, powinien teraz także oczekiwać obrazu i dodać go 29 00:02:38,740 --> 00:02:40,950 tutaj do naszych danych miejsca 30 00:02:40,990 --> 00:02:47,430 i w reduktorze, teraz chcę dodaj obraz do tworzonego miejsca, ale ważne, w tej 31 00:02:47,440 --> 00:02:48,370 chwili 32 00:02:48,520 --> 00:02:50,150 nasz model miejsca 33 00:02:50,170 --> 00:02:57,220 nie oczekuje obrazu, więc nadszedł czas, aby to zmienić, dodaj imageUrl tam, być może imageUri, ponieważ 34 00:02:57,250 --> 00:03:06,490 jest lokalny, a następnie ma ten identyfikator URI obrazu ustawiamy na równe imageUri, dostajemy się tutaj i teraz z tym 35 00:03:06,490 --> 00:03:15,640 dostosowaniem, z powrotem w reduktorze miejsc, otrzymujemy teraz dodatkowe dane obrazu w naszej akcji i musimy przekazać to nowemu konstruktorowi 36 00:03:15,640 --> 00:03:21,670 miejsc, więc tutaj akcja. placeData. Obraz jest tym, co chcę przekazać, więc 37 00:03:21,670 --> 00:03:28,750 jest to nowy argument dodany do konstruktora miejsca i akcji. placeData. image oczywiście odnosi się do 38 00:03:28,750 --> 00:03:35,840 obrazu, który ustawiamy tutaj w naszym obiekcie akcji. Dzięki temu obraz jest faktycznie dodawany do miejsca, które jest 39 00:03:35,840 --> 00:03:37,160 tworzone, a dzięki 40 00:03:37,280 --> 00:03:42,920 temu na ekranie listy miejsc, w którym wyprowadzamy element miejsca, możemy teraz wprowadzić pewne dane do 41 00:03:42,920 --> 00:03:50,360 obrazu, a byłoby to itemData. pozycja. imageUrl, adres URL obrazu, ponieważ itemData. item odnosi się do 42 00:03:50,420 --> 00:03:56,750 pojedynczego miejsca, które jest tworzone zgodnie z definicją w naszym modelu miejsca i tam mamy imageUri 43 00:03:56,780 --> 00:04:03,090 i dlatego oczywiście powinien to być imageUri, a nie URL, ale to ważne, to nie jest 44 00:04:03,220 --> 00:04:05,200 tylko image, to imageUri, ponieważ 45 00:04:05,230 --> 00:04:12,740 tutaj odsyłamy do obiektu miejsca według naszego modelu miejsca. Jeśli teraz to zapiszemy i zobaczymy, powinno to faktycznie 46 00:04:12,740 --> 00:04:13,410 działać 47 00:04:13,580 --> 00:04:19,250 i powinno pozwolić nam dodawać obrazy, które widzimy również na naszej liście miejsc. 48 00:04:19,340 --> 00:04:30,680 Więc tutaj, jeśli kliknę zrób zdjęcie i wezmę to zdjęcie pozorne, tak jak to, przytnij to, a następnie dodaj tytuł tutaj i 49 00:04:30,980 --> 00:04:34,700 kliknij zapisz miejsce, to nie wygląda tak 50 00:04:34,880 --> 00:04:37,710 źle, widzimy tutaj nasze zdjęcie. 51 00:04:38,120 --> 00:04:40,770 Teraz jedna rzecz jest ważna do zrozumienia. 52 00:04:40,880 --> 00:04:47,240 Do tej pory przechowujemy ten obraz tylko w domyślnej ścieżce, którą wyciągamy z pudełka, która jest tymczasową ścieżką 53 00:04:47,240 --> 00:04:52,160 i oczywiście nie tam, gdzie chcemy go przechowywać, ponieważ jak wspomniałem, będzie on okresowo 54 00:04:52,160 --> 00:04:57,050 usuwany, a zatem ostatecznie stracimy nasz wizerunek, co oczywiście nie jest tutaj celem.