Griffiths Dawn
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(4)
Forma i typ
Książki
(4)
Publikacje fachowe
(3)
Publikacje dydaktyczne
(2)
Dostępność
tylko na miejscu
(3)
dostępne
(1)
Placówka
Wypożyczalnia
(1)
Biblioteka WEAiI
(3)
Autor
Berłowski Paweł
(189)
Kotowski Włodzimierz
(179)
Praca zbiorowa
(157)
Skoczylas Zbigniew
(152)
Stiasny Grzegorz
(143)
Griffiths Dawn
(-)
Sadlik Ryszard
(142)
Blum Maciej
(140)
Michalski Dariusz
(134)
Lewandowski Maciej
(131)
Majewski Jerzy S
(131)
Etzold Hans-Rüdiger
(120)
Leśniewski Mariusz
(116)
Gewert Marian
(108)
Maruchin Wojciech
(107)
Guryn Halina
(105)
Traczyk Wojciech
(101)
Chalastra Michał
(99)
Kardyś Marta
(97)
Marx Karl (1818-1883)
(94)
Nazwisko Imię
(94)
Berkieta Mateusz
(93)
Tomczak Małgorzata
(93)
Polkowski Sławomir
(92)
Engels Friedrich (1820-1895)
(91)
Jakubiec Izabela
(90)
Kotapski Roman
(90)
Rybicki Piotr
(90)
Krysicki Włodzimierz (1905-2001)
(88)
Teleguj Kazimierz
(88)
Kapołka Maciej
(86)
Mikołajewska Emilia
(84)
Zaborowska Joanna
(81)
Starosolski Włodzimierz (1933- )
(80)
Piątek Grzegorz
(79)
Rudnicki Bogdan
(79)
Górczyński Robert
(78)
Meryk Radosław
(78)
Polit Ryszard
(77)
Mroczek Wojciech
(76)
Kulawik Marta
(74)
Mycielski Krzysztof
(74)
Myszkorowski Jakub
(73)
Konopka Eduard
(71)
Jabłoński Marek
(70)
Bielecki Jan (1942-2001)
(69)
Knosala Ryszard (1949- )
(68)
Rajca Piotr (1970- )
(68)
Rymarz Małgorzata
(68)
Walczak Krzysztof
(68)
Walkiewicz Łukasz
(68)
Wiecheć Marek
(68)
Jabłoński Adam
(67)
Laszczak Mirosław
(66)
Piwko Łukasz
(66)
Wodziczko Piotr
(65)
Dziedzic Zbigniew
(64)
Sidor-Rządkowska Małgorzata
(64)
Żakowski Wojciech (1929-1993)
(64)
Pasko Marian
(62)
Włodarski Lech (1916-1997)
(62)
Czakon Wojciech
(61)
Leyko Jerzy (1918-1995)
(61)
Jankowski Mariusz
(60)
Kostecka Alicja
(60)
Lenin Włodzimierz (1870-1924)
(60)
Paszkowska Małgorzata
(60)
Wróblewski Piotr
(60)
Karpińska Marta
(59)
Próchnicki Wojciech
(59)
Rogala Elżbieta
(59)
Bielecki Maciej
(57)
Jelonek Jakub
(57)
Malkowski Tomasz
(57)
Pilch Piotr
(57)
Rauziński Robert (1933- )
(57)
Gawrońska Joanna
(56)
Ajdukiewicz Andrzej (1939- )
(55)
Cieślak Piotr
(55)
Draniewicz Bartosz
(55)
Godek Piotr
(55)
Osiński Zbigniew (1926-2001)
(55)
Jasiński Filip
(54)
Kuliński Włodzisław
(54)
Suchodolski Bogdan (1903-1992)
(54)
Forowicz Krystyna
(53)
Klupiński Kamil
(53)
Szkutnik Leon Leszek
(52)
Zdanikowski Paweł
(52)
Wantuch-Matla Dorota
(51)
Barowicz Marek
(50)
Trammer Hubert
(50)
Walczak Tomasz
(50)
Watrak Andrzej
(50)
Zgółkowa Halina (1947- )
(50)
Barańska Katarzyna
(49)
Czajkowska-Matosiuk Katarzyna
(49)
Jurlewicz Teresa
(49)
Pikoń Andrzej
(49)
Szargut Jan (1923- )
(49)
Chojnacki Ireneusz
(48)
Rok wydania
2020 - 2024
(2)
2010 - 2019
(2)
Okres powstania dzieła
2001-
(4)
Kraj wydania
Polska
(4)
Język
polski
(4)
Odbiorca
Programiści
(1)
Temat
Android (system operacyjny)
(2)
JavaScript
(1)
Języki programowania
(1)
Kotlin (język programowania)
(1)
Programowanie (informatyka)
(1)
Programy komputerowe
(1)
React.js
(1)
Smartfony
(1)
Temat: czas
2001-
(2)
Gatunek
Podręcznik
(4)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(4)
4 wyniki Filtruj
Książka
W koszyku
Tworzenie aplikacji Generowanie prostej aplikacji Tworzenie aplikacji o bogatych treściach z zastosowaniem narzędzia Gatsby Tworzenie uniwersalnych aplikacji przy użyciu Razzle Zarządzanie kodem klienta i serwera z wykorzystaniem Next.js Tworzenie małych aplikacji przy użyciu Preacta Tworzenie bibliotek z wykorzystaniem nwb Dodawanie Reacta do aplikacji Rails za pomocą Webpackera Tworzenie niestandardowych elementów przy użyciu Preacta Tworzenie komponentów z zastosowaniem Storybooka Testowanie kodu w przeglądarce z zastosowaniem Cypressa Routing Tworzenie interfejsu z responsywnymi trasami Przenoszenie stanu do tras Użycie MemoryRouter do wykonywania testów jednostkowych Stosowanie potwierdzeń opuszczenia strony Tworzenie przejść przy użyciu biblioteki React Transition Group Tworzenie zabezpieczonych tras. Zarządzanie stanem Stosowanie reduktorów do zarządzania złożonym stanem Implementacja mechanizmu cofania Tworzenie i walidacja formularzy Pomiar upływu czasu przy użyciu zegara Monitor stanu połączenia z internetem Zarządzanie globalnym stanem przy użyciu Reduxa Zachowywanie danych podczas przeładowywania stron przy użyciu Redux Persist Obliczanie stanu pochodnego przy użyciu Reselect . Projektowanie interakcji Tworzenie scentralizowanej obsługi błędów Tworzenie interaktywnego przewodnika Zastosowanie reduktorów do tworzenia złożonych interakcji Dodawanie interakcji korzystających z klawiatury Stosowanie formatu Markdown do tworzenia bogatych treści Animacje tworzone z użyciem klas CSS Tworzenie animacji z użyciem React Animation Tworzenie infografik przy użyciu biblioteki TweenOne Połączenia z usługami Przekształcenie wywołania sieciowego w hook Automatyczne odświeżanie przy użyciu liczników stanu . Anulowanie żądań sieciowych z wykorzystaniem tokenów Generowanie żądań sieciowych z użyciem oprogramowania pośredniego Reduxa Nawiązywanie połączenia z GraphQL Ograniczanie obciążenia sieci poprzez opóźnianie generowania żądań Biblioteki komponentów Stosowanie Material Design przy użyciu biblioteki Material-UI Tworzenie prostego interfejsu użytkownika za pomocą React Bootstrap Przeglądanie zbiorów danych przy użyciu React Window Tworzenie responsywnych okien dialogowych z wykorzystaniem Material-UI Tworzenie konsoli administracyjnej przy użyciu React Admin Nie masz projektanta? Użyj Semantic UI Bezpieczeństwo Zabezpieczaj żądania, nie trasy Uwierzytelnianie z użyciem fizycznych tokenów Włączanie protokołu HTTPS Uwierzytelnianie za pomocą odcisków palców Stosowanie logowania potwierdzającego Stosowanie uwierzytelniania jednoskładnikowego Testowanie na urządzeniu z Androidem Sprawdzanie bezpieczeństwa/zabezpieczeń przy wykorzystaniu ESlint Dostosowywanie formularzy logowania pod kątem przeglądarek Testowanie Stosowanie React Testing Library Stosowanie Storybooka do testów renderowania Testowanie bez serwera z użyciem Cypressa Stosowanie Cypressa do testowania aplikacji bez połączenia z internetem Testowanie w przeglądarce przy użyciu Selenium Testowanie prezentacji w różnych przeglądarkach z użyciem ImageMagick Dodawanie konsoli do przeglądarek mobilnych Usuwanie losowości z testów Podróż w czasie Dostępność Stosowanie punktów orientacyjnych Stosowanie ról oraz atrybutów alt i title Sprawdzanie dostępności za pomocą narzędzia ESlint Stosowanie axe DevTools podczas działania aplikacji Automatyzowanie testów w przeglądarce za pomocą narzędzia Cypress Axe Dodawanie przycisków pomijania Dodawanie pomijania obszarów strony Przechwytywanie zasięgu w modalnym oknie dialogowym Tworzenie czytnika ekranu za pomocą Speech API Wydajność Stosowanie narzędzi mierzenia wydajności działających w przeglądarce Śledzenie renderowania za pomocą Profilera Tworzenie testów jednostkowych z użyciem komponentu Profiler Precyzyjny pomiar czasu Zmniejszanie aplikacji z wykorzystaniem dzielenia kodu Łączenie obietnic żądań sieciowych Stosowanie renderowania po stronie serwera Stosowanie metryk web vitals Progresywne aplikacje internetowe Stosowanie mechanizmu service workers przy użyciu narzędzia Workbox Tworzenie PWS za pomocą narzędzia create-react-app Przechowywanie zasobów zewnętrznych w pamięci podręcznej Automatyzacja odświeżania skryptów service worker Dodawanie powiadomień Wprowadzanie zmian offline z zastosowaniem synchronizacji w tle Dodawanie niestandardowego instalacyjnego interfejsu użytkownika Dostarczanie odpowiedzi w trybie offline
Sygnatura czytelni BWEAiI: XII A 60
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 153043 (1 egz.)
Książka
W koszyku
(Rusz Głową!)
Na stronie tytułowej, okładce nazwa wydawcy oryginalnego: O'Reilly.
Na okładce: Projektuj aplikacje, które będą hitami sprzedaży. Unikaj zawstydzających aktywności. Przekonaj się, jak Material Design może zmienić Twoje życie. Opanuj pojęcia nie z tej ziemi. Podłącz się do usług lokalizacyjnych Androida. Zabaw się z bibliotekami Support Libraries.
Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 142615 (1 egz.)
Książka
W koszyku
Android : programowanie aplikacji / Dawn Griffiths, David Griffiths ; [tł.: Piotr Rajca]. - Wydanie 2. - Gliwice : Wydawnictwo Helion, copyright 2018. - XL, 880 stron. : ilustracje ; 23 cm.
(Rusz Głową!)
Tytuł oryginału: Head First Android development
Na stronie tytułowej również informacje o miejscach wydania i wydawcy oryginału - O'Reilly.
Na okładce: Zobacz jak wyglądają fragmenty pod mikroskopem, Unikaj kłopotliwych aktywności, Przekonaj sie jak układy z ograniczeniami moga zmienić Twoje życie, Twórz usługi nie z tego świata, Znajdź własna droge dzięki usługom lokalizacyjnym Androida, Zabaw sie z biblioteka wsparcia wzornictwa.
Indeks.
ROZDZIAŁ 1. Zaczynamy. Skok na głęboką wodę Witamy w Androidowie (2) Platforma Android w szczegółach (3) Oto co mamy zamiar zrobić (4) Środowisko programistyczne (5) Zainstaluj Android Studio (6) Stwórzmy prostą aplikację (7) Jak stworzyć aplikację? (8) Aktywności i układy z wysokości 15 tysięcy metrów (12) Jak stworzyć aplikację? (ciąg dalszy) (13) Właśnie utworzyłeś swoją pierwszą aplikację na Androida (15) Android Studio utworzy pełną strukturę katalogów aplikacji (16) Przydatne pliki projektu (17) Edycja kodu z użyciem edytorów Android Studio (18) Uruchamianie aplikacji w emulatorze Androida (23) Tworzenie wirtualnego urządzenia z Androidem (24) Uruchamianie aplikacji w emulatorze (27) Postępy możesz obserwować w konsoli (28) Ale co się właściwie stało? (30) Usprawnienie aplikacji (31) Czym jest układ? (32) Plik activity_main.xml zawiera dwa elementy (33) Aktualizacja tekstu wyświetlanego w układzie (34) Weź aplikację na jazdę próbną (35) Twój przybornik do Androida (36) ROZDZIAŁ 2. Tworzenie interaktywnych aplikacji. Aplikacje, które coś robią W tym rozdziale napiszemy aplikację Doradca piwny (38) Utworzenie projektu (40) Utworzyliśmy domyślną aktywność i układ (41) Dokładniejsza prezentacja edytora projektu (42) Dodawanie przycisku w edytorze projektu (43) Plik activity_find_beer.xml zawiera nowy przycisk (44) Dokładniejszy przegląd kodu układu (45) Weź swoją aplikację na jazdę próbną (49) Podawanie tekstów na stałe utrudnia lokalizację (50) Utworzenie zasobu łańcuchowego (51) Zastosowanie zasobu łańcuchowego w układzie (52) Kod pliku activity_find_beer.xml (53) Dodawanie wartości do komponentu Spinner (56) Dodanie elementu string-array do pliku strings.xml (57) Jazda próbna komponentu Spinner (58) Musimy zadbać o to, by przycisk coś robił (59) Niech przycisk wywołuje metodę (60) Jak wygląda kod aktywności (61) Dodaj do aktywności metodę onClickFindBeer() (62) Metoda onClickFindBeer() musi coś robić (63) Dysponując obiektem View, można odwoływać się do jego metod (64) Aktualizacja kodu aktywności (65) Pierwsza wersja aktywności (67) Co ten kod robi? (68) Tworzenie własnej klasy Javy (70) Co się dzieje podczas wykonywania tego kodu? (74) Jazda próbna - test aplikacji (75) Twój przybornik do Androida (76) ROZDZIAŁ 3. Wiele aktywności i intencji. Jakie są Twoje intencje? Aplikacja może zawierać więcej niż jedną aktywność (78) Oto struktura naszej aplikacji (79) Zaczynamy: utworzenie projektu (79) Aktualizacja układu (80) Utworzenie drugiej aktywności i układu (82) Przedstawiamy plik manifestu aplikacji na Androida (84) Intencja jest rodzajem komunikatu (86) Co się dzieje po uruchomieniu aplikacji? (88) Przekazanie tekstu do drugiej aktywności (90) Aktualizacja właściwości widoku tekstowego (91) Metoda putExtra() zapisuje w intencji dodatkowe informacje (92) Aktualizacja kodu aktywności CreateMessageActivity (95) Zastosowanie informacji przekazanych w intencji w klasie ReceiveMessageActivity (96) Co się dzieje, gdy użytkownik kliknie przycisk Wyślij wiadomość (97) Możemy zmienić aplikację tak, by wiadomość była wysyłana do innych osób (98) Jak działają aplikacje na Androida (99) Utworzenie intencji określającej akcję (101) Zmiana intencji w celu użycia akcji (102) Jak Android korzysta z filtrów intencji? (106) A co, jeśli chcemy, by użytkownik ZAWSZE wybierał aktywność? (112) Co się dzieje w momencie wywoływania metody createChooser()? (113) Zmień kod, by wyświetlać okno dialogowe (115) Twój przybornik do Androida (118) ROZDZIAŁ 4. Cykl życia aktywności. Była sobie aktywność Jak właściwie działają aktywności? (120) Aplikacja stopera (122) Dodanie zasobów łańcuchowych (123) Jak będzie działał kod aktywności? (125) Działanie kodu obsługującego przyciski (126) Metoda runTimer() (127) Pełny kod metody runTimer() (129) Kompletny kod aktywności StopwatchActivity (130) Obrót ekranu zmienia konfigurację urządzenia (136) Stany aktywności (137) Cykl życia aktywności: od utworzenia do usunięcia (138) Zaktualizowany kod aktywności StopwatchActivity (142) Co się stanie po uruchomieniu aplikacji? (143) Tworzenie i usuwanie to nie cały cykl życia aktywności (146) Zaktualizowany kod aktywności StopwatchActivity (151) Co się dzieje podczas działania aplikacji? (152) A co się dzieje, jeśli aplikacja jest tylko częściowo widoczna? (154) Cykl życia aktywności: życie na pierwszym planie (155) Zatrzymanie stopera w razie wstrzymania aktywności (158) Implementacja metod onPause() oraz onResume() (159) Kompletny kod aktywności (160) Co się stanie po uruchomieniu aplikacji? (163) Wygodny przewodnik po metodach cyklu życia aktywności (167) Twój przybornik do Androida (168) ROZDZIAŁ 5. Widoki i grupy widoków. Podziwiaj widoki Interfejs użytkownika aplikacji składa się z układów i komponentów GUI (170) Układ LinearLayout wyświetla widoki w jednym wierszu lub w jednej kolumnie (171) Dodawanie pliku zasobów wymiaru w celu zapewnienia spójnych wypełnień w układach (174) Stosowanie marginesów do oddalania widoków od siebie (176) Zmieńmy nieco prosty układ liniowy (177) Rozciągaaaaamy widok, zwiększając jego wagę (179) Wartości atrybutu android:gravity (183) Kompletny układ liniowy (186) Układy FrameLayout rozmieszczają widoki jeden na drugim (188) Dodanie obrazka do projektu (189) Kompletny kod układu (192) Układy FrameLayout: podsumowanie (193) Zabawy z widokami (201) Pola tekstowe (202) Przycisk (203) Przycisk przełącznika (204) Przełącznik (205) Pola wyboru (206) Przyciski opcji (208) Lista rozwijana (210) Widoki obrazów (211) Dodawanie obrazów do przycisków (213) Widoki przewijane (215) Krótkie komunikaty (216) Twój przybornik do Androida (220) ROZDZIAŁ 6. Układy z ograniczeniami. Rozmieszczaj rzeczy w odpowiednich miejscach Zagnieżdżone układy mogą być nieefektywne (222) Przedstawiamy układy z ograniczeniami (223) Nie zapomnij dołączyć do projektu biblioteki Constrained Layout Library (224) Dodanie zasobów do strings.xml (225) Zastosowanie narzędzia do tworzenia szkicu (226) Rozmieszczanie widoków przy wykorzystaniu ograniczeń (227) Dodawanie ograniczenia w pionie (228) Zmiany szkicu są uwzględniane w kodzie XML (229) Jak wyśrodkowywać widoki (230) Zmiana położenia widoku poprzez określanie przesunięcia (231) Jak zmieniać wielkość widoku? (232) Jak wyrównywać widoki? (238) Stwórzmy prawdziwy układ (239) Zacznij od dodania widoków do górnego wiersza (240) Mechanizm wnioskowania odgaduje, jakie ograniczenia należy dodać (241) Dodaj do szkicu kolejny wiersz... (242) I w końcu dodaj widok na treść wiadomości (243) Jazda próbna aplikacji (244) Twój przybornik do Androida (245) ROZDZIAŁ 7. Widoki list i adaptery. Zorganizuj się Każda aplikacja zaczyna się od pomysłu (248) Użyj widoku listy do nawigowania po danych (251) Aktywność szczegółów napoju (253) Struktura aplikacji dla kafeterii Coffeina (254) Klasa Drink (256) Układ aktywności głównego poziomu składa się z obrazka i listy (258) Kompletny kod układu aktywności głównego poziomu (260) Zapewnianie reakcji ListView na kliknięcia za pomocą obiektu nasłuchującego (261) Dodanie obiektu nasłuchującego do widoku listy (262) Aktywność kategorii wyświetla dane jednej kategorii (267) Aktualizacja układu activity_drink_category.xml (268) W przypadku danych statycznych należy użyć adaptera (269) Łączenie widoków ListView z tablicami przy użyciu adaptera (270) Dodanie adaptera ArrayAdapter do aktywności DrinkCategoryActivity (271) Przegląd aplikacji, czyli dokąd dotarliśmy (274) Jak obsługiwaliśmy kliknięcia w aktywności TopLevelActivity (276) Kompletny kod aktywności DrinkCategoryActivity (278) Wypełnienie widoków danymi (281) Kod aktywności DrinkActivity (283) Co się stanie po uruchomieniu aplikacji (284) Twój przybornik do Androida (288) ROZDZIAŁ 8. Biblioteki wsparcia i paski aplikacji. Na skróty Świetne aplikacje mają przejrzystą strukturę (290) Różne typy nawigacji (291) Zacznijmy od paska akcji (293) Utwórz aplikację Włoskie Co Nieco (295) Dodaj bibliotekę wsparcia AppCompat v7 (296) Plik AndroidManifest.xml może zmieniać postać paska aplikacji (299) Jak zastosować motyw? (300) Zdefiniuj styl w pliku zasobów (301) Dostosuj wygląd aplikacji (303) Zdefiniuj kolory w pliku zasobów kolorów (304) Kod pliku activity_main.xml (305) Pasek aplikacji a pasek narzędzi (306) Dołącz pasek narzędzi do układu aktywności (312) Dodawanie akcji do paska aplikacji (315) Zmień pasek aplikacji, dodając do niego etykietę (318) Kod pliku AndroidManifest.xml (319) Określ wygląd akcji (322) Kompletny kod pliku MainActivity.java (325) Włączanie nawigacji w górę (327) Dzielenie się treściami z poziomu paska aplikacji (331) Dodawanie dostawcy akcji udostępniania do menu_main.xml (332) Określanie treści za pomocą intencji (333) Kompletny kod aktywności MainActivity (334) Twój przybornik do Androida (337) ROZDZIAŁ 9. Fragmenty. Zadbaj o modularyzację Twoja aplikacja musi wyglądać świetnie na WSZYSTKICH urządzeniach (340) Może się zdarzyć, że aplikacja będzie musiała także działać inaczej (341) Fragmenty umożliwiają wielokrotne stosowanie kodu (342) Aplikacja w wersji na telefony (343) Utworzenie projektu i aktywności (345) Dodanie przycisku do układu aktywności (346) Jak dodać fragment do projektu? (348) Metoda onCreateView() fragmentu (350) Dodawanie fragmentu do układu aktywności (352) Zapewnienie interakcji fragmentu i aktywności (359) Klasa Workout (360) Przekazywanie identyfikatora treningu do fragmentu (361) Określenie identyfikatora treningu w kodzie aktywności (363) Cykl życia fragmentów (365) Określenie zawartości widoków w metodzie onStart() fragmentu (367) Jak utworzyć fragment typu ListFragment? (374) Zaktualizowany kod klasy WorkoutListFragment (377) Kod układu activity_main.xml (381) Powiązanie listy z widokiem szczegółów (384) Kod pliku WorkoutListFragment.java (387) Aktywność MainActivity musi implementować interfejs (388) Aktywność DetailActivity musi przekazać identyfikator do fragmentu WorkoutDetailFragment (389) Twój przybornik do Androida (392) ROZDZIAŁ 10. Fragmenty dla większych interfejsów. Różne wielkości, różne interfejsy Nasza aplikacja Trenażer wygląda tak samo na telefonie i tablecie (394) Projektowanie z myślą o większych interfejsach (395) Wersja aplikacji na telefony (396) Wersja aplikacji na tablety (397) Utwórz AVD tabletu (399) Umieszczaj zasoby przeznaczone dla różnych rodzajów ekranów w odpowiednich katalogach (402) Różne opcje katalogów (403) Tablety używają układów zapisanych w katalogu layout-large (408) Jak działa zaktualizowany kod? (410) Musimy zmienić kod metody itemClicked() (412) Chcemy, by fragmenty współpracowały z przyciskiem Wstecz (413) Witamy stos cofnięć (414) Transakcje na stosie cofnięć nie muszą być aktywnościami (415) Użyj układu FrameLayout, by programowo zmieniać fragmenty (416) Skorzystaj z różnic w układach, aby określić, który z nich został użyty (417) Zmodyfikowany kod aktywności MainActivity (418) Stosowanie transakcji fragmentów (419) Zaktualizowany kod aktywności MainActivity (423) Zmiana orientacji tabletu wywołuje problem w aplikacji (427) Zapisywanie stanu aktywności (po raz wtóry) (428) Zaktualizowany kod pliku WorkoutDetailFragment.java (430) Twój przybornik do Androida (432) ROZDZIAŁ 11. Fragmenty dynamiczne. Zagnieżdżanie fragmentów Dodawanie fragmentów dynamicznych (434) Nowa wersja aplikacji (436) Utwórz aktywność TempActivity (437) Klasa TempActivity musi dziedziczyć po AppCompatActivity (438) Kod fragmentu StopwatchFragment (444) Układ fragmentu StopwatchFragment (447) Dodanie fragmentu StopwatchFragment do układu aktywności TempActivity (449) Atrybut onClick wywołuje metody aktywności, a nie fragmentu (452) Powiązanie obiektu nasłuchującego OnClickListener z przyciskami (457) Kod fragmentu StopwatchFragment (458) Obrócenie urządzenia zeruje stoper (462) Używaj dla statycznych fragmentów... (463) W układzie activity_temp.xml zastosuj układ FrameLayout (464) Kompletny kod aktywności TempActivity.java (467) Dodanie stopera do fragmentu WorkoutDetailFragment (469) Kompletny kod pliku WorkoutDetailFragment.java (476) Twój przybornik do Androida (480) ROZDZIAŁ 12. Biblioteka wsparcia wzornictwa. Przeciągnięcie w prawo Aplikacja Włoskie Co Nieco w nowej odsłonie (482) Struktura aplikacji (483) Użycie klasy ViewPager do przewijania fragmentów (489) Dodajemy ViewPager do układu aktywności MainActivity (490) Przekaż kontrolce informacje o stronach przy użyciu odpowiedniego adaptera (491) Kod naszego adaptera FragmentPagerAdapter (492) Pełny kod pliku MainActivity.java (494) Dodanie kart do aktywności MainActivity (498) Jak dodać karty do układu? (499) Połączenie układu kart z kontrolką ViewPager (501) Pełny kod pliku MainActivity.java (502) Biblioteka wsparcia wzornictwa pomaga implementować Material Design (506) Zapewnienie reagowania paska narzędzi na przewijanie (508) Dodanie CoordinatorLayout do układu aktywności MainActivity (509) Jak koordynować przewijanie? (510) Dodanie do fragmentu zawartości do przewijania (512) Pełny kod pliku fragment_top.xml (515) Dodanie zwijanego paska narzędzi do aktywności OrderActivity (517) Jak stworzyć prosty zwijany pasek narzędzi? (518) Jak dodać obrazek do zwijanego paska narzędzi? (523) Aktualizacja kodu układu activity_order.xml (524) Przyciski FAB i paski snackbar (526) Zaktualizowany kod pliku activity_order.xml (528) Pełny kod pliku OrderActivity.java (533) Twój przybornik do Androida (535) ROZDZIAŁ 13. Widoki RecyclerView i CardView. Stosuj recykling Wciąż jest wiele do zrobienia w aplikacji Włoskie Co Nieco (538) Widoki RecyclerView z wysokości 3000 metrów (539) Dodanie danych pizz (541) Wyświetlenie danych pizzy na karcie (542) Jak utworzyć widok karty? (543) Kompletny kod pliku card_captioned_image.xml (544) Dodanie adaptera widoku RecyclerView (546) Zdefiniowanie obiektu ViewHolder (548) Przesłonięcie metody onCreateViewHolder() (549) Dodanie danych do widoków CardView (550) Kompletny kod pliku CaptionedImagesAdapter.java (551) Utworzenie widoku RecyclerView (553) Dodanie widoku RecyclerView do układu fragmentu PizzaFragment (554) Kompletny kod pliku PizzaFragment.java (555) RecyclerView rozmieszcza swoje widoki, używając menedżera układu (556) Określanie menedżera układu (557) Pełny kod fragmentu PizzaFragment.java (558) Zapewnienie reakcji obiektu RecyclerView na kliknięcia (566) Utworzenie aktywności PizzaDetailActivity (567) Kod pliku PizzaDetailActivity.java (569) Zapewnienie reakcji widoku RecyclerView na kliknięcia (570) Można nasłuchiwać zdarzeń z widoków w adapterze (571) Zapewnianie możliwości wielokrotnego stosowania adapterów (572) Dodanie interfejsu do adaptera (573) Implementacja interfejsu we fragmencie PizzaFragment (575) Twój przybornik do Androida (578) ROZDZIAŁ 14. Szuflady nawigacyjne. Z miejsca na miejsce Widoki kart zapewniają łatwą nawigację... (580) Planujemy utworzenie szuflady nawigacyjnej w nowej aplikacji pocztowej (581) Szuflady nawigacyjne rozmontowane na czynniki pierwsze (582) Utworzenie projektu Koci Czat (584) Utworzenie fragmentu InboxFragment (585) Utworzenie fragmentu DraftsFragment (586) Utworzenie fragmentu SentItemsFragment (587) Utworzenie fragmentu TrashFragment (588) Przygotowanie układu paska narzędzi (589) Aktualizacja motywu aplikacji (590) Utworzenie aktywności HelpActivity (591) Utworzenie aktywności FeedbackActivity (592) Utworzenie nagłówka szuflady nawigacyjnej (594) Kompletny kod pliku nav_header.xml (595) Jak można grupować elementy? (598) Sekcję wsparcia dodamy jako podmenu (600) Kompletny kod pliku menu_nav.xml (601) Jak utworzyć szufladę nawigacyjną? (602) Kompletny kod układu aktywności activity_main.xml (603) Dodanie fragmentu InboxFragment do układu aktywności MainActivity (604) Dodanie przełącznika szuflady (607) Reagowanie na klikanie elementów szuflady (608) Implementacja metody onNavigationItemSelected() (609) Zamknięcie szuflady po naciśnięciu przycisku Wstecz (614) Kompletny kod aktywności MainActivity (615) Twój przybornik do Androida (619) ROZDZIAŁ 15. Bazy danych SQLite. Odpal bazę danych Znowu w kafeterii Coffeina (622) Android trwale przechowuje dane, używając baz danych SQLite (623) Android udostępnia kilka klas związanych z SQLite (624) Obecna struktura aplikacji kafeterii Coffeina (625) Zmienimy aplikację, by korzystała z bazy danych (626) Pomocnik SQLite zarządza Twoją bazą danych (627) Tworzenie pomocnika SQLite (628) Wnętrze bazy danych SQLite (630) Tabele tworzymy w języku SQL (631) Wstawianie danych za pomocą metody insert() (632) Wstawianie wielu rekordów (633) Kod klasy CoffeinaDatabaseHelper (634) Co robi kod pomocnika SQLite? (635) Co zrobić, gdy trzeba będzie zmienić bazę? (636) Bazy danych SQLite mają numer wersji (637) Co się dzieje w przypadku zmiany numeru wersji? (638) Aktualizacja bazy w metodzie onUpgrade() (640) Przywracanie starszej wersji bazy za pomocą metody onDowngrade() (641) Zaktualizujmy bazę danych (642) Aktualizacja istniejącej bazy danych (645) Aktualizacja rekordów za pomocą metody update() (646) Stosowanie warunków odnoszących się do wielu kolumn (647) Modyfikacja struktury bazy danych (649) Usuwanie tabeli (650) Pełny kod pomocnika SQLite (651) Twój przybornik do Androida (656) ROZDZIAŁ 16. Proste kursory. Pobieranie danych Co się wydarzyło wcześniej... (658) Struktura nowej wersji aplikacji kafeterii Coffeina (659) Co zrobimy, by aktywność DrinkActivity zaczęła korzystać z bazy danych? (660) Aktualny kod aktywności DrinkActivity (661) Pobranie referencji do bazy danych (662) Pobieranie danych z bazy za pomocą kursora (663) Zwracanie wszystkich wierszy tabeli (664) Zwracanie wierszy w określonej kolejności (665) Zwracanie wybranych rekordów (666) Dotychczasowy kod aktywności DrinkActivity (669) Aby odczytać rekord z kursora, najpierw należy do niego przejść (670) Poruszanie się po kursorze (671) Pobieranie wartości z kursora (672) Kod aktywności DrinkActivity (673) Co udało się nam zrobić? (675) Aktualny kod aktywności DrinkCategoryActivity (677) Pobranie referencji do bazy danych kafeterii... (678) Jak zastąpić tablicę przekazywaną do komponentu ListView? (679) SimpleCursorAdapter odwzorowuje dane na widoki (680) Stosowanie adaptera SimpleCursorAdapter (681) Zamykanie kursora i bazy danych (682) Ciąg dalszy opowieści (683) Zmodyfikowany kod aktywności DrinkCategoryActivity (688) Kod aktywności DrinkCategoryActivity (ciąg dalszy) (689) Twój przybornik do Androida (691) ROZDZIAŁ 17. Kursory i zadania asynchroniczne. Pozostając w tle Chcemy, by nasza aplikacja aktualizowała dane w bazie (694) Dodanie pola wyboru do układu aktywności DrinkActivity (696) Wyświetlanie wartości kolumny FAVORITE (697) Odpowiadanie na kliknięcia w celu aktualizacji bazy (698) Kompletny kod aktywności DrinkActivity (701) Wyświetlanie ulubionych napojów w aktywności TopLevelActivity (705) Refaktoryzacja pliku TopLevelActivity.java (707) Nowy kod aktywności TopLevelActivity (710) Kursor można zmieniać za pomocą metody changeCursor() (715) Który kod umieścić w którym wątku? (723) Klasa AsyncTask służy do wykonywania operacji asynchronicznych (724) Metoda onPreExecute() (725) Metoda doInBackground() (726) Metoda onProgressUpdate() (727) Metoda onPostExecute() (728) Parametry klasy AsyncTask (729) Kompletny kod klasy UpdateDrinkTask (730) Kompletny kod pliku DrinkActivity.java (732) Twój przybornik do Androida (737) Podsumowanie etapów działania zadań AsyncTask (737) ROZDZIAŁ 18. Usługi uruchomione. Do usług Usługi działają w tle (740) Utworzymy usługę URUCHOMIONĄ (741) Użycie klasy IntentService do utworzenia prostej usługi uruchomionej (742) Jak rejestrować komunikaty? (743) Kompletny kod usługi DelayedMessageService (744) Usługi są deklarowane w pliku AndroidManifest.xml (745) Dodajemy przycisk do układu activity_main.xml (746) Usługę uruchamiamy, wywołując metodę startService() (747) Stany usług uruchomionych (750) Cykl życia usług uruchomionych: od utworzenia do usunięcia (751) Nasza usługa dziedziczy metody cyklu życia (752) Android dysponuje wbudowaną usługą obsługi powiadomień (755) Użyjemy powiadomień z biblioteki wsparcia AppCompat (756) W pierwszej kolejności tworzymy budowniczego powiadomień (757) Wysyłanie powiadomień przy użyciu wbudowanej usługi systemowej (759) Kompletny kod usługi DelayedMessageService (760) Twój przybornik do Androida (765) ROZDZIAŁ 19. Usługi powiązane i uprawnienia. Powiązane ze sobą Usługi powiązane są skojarzone z innymi komponentami (768) Utworzenie nowej usługi (770) Zdefiniowanie obiektu Binder (771) Dodanie metody getDistance() do usługi (772) Aktualizacja układu aktywności MainActivity (773) Utworzenie obiektu ServiceConnection (775) Użycie metody bindService() do powiązania usługi (778) Użycie metody unbindService() do odłączenia aktywności od usługi (779) Wyświetlenie przebytego dystansu (780) Kompletny kod aktywności MainActivity (781) Stany usług powiązanych (787) Dodanie biblioteki wsparcia AppCompat (790) Dodanie do usługi OdometerService obiektu nasłuchującego danych o lokalizacji (792) Zaktualizowany kod usługi OdometerService (795) Wyliczenie przebytego dystansu (796) Kompletny kod pliku OdometerService.java (798) Jak poprosić o uprawnienia z poziomu aplikacji? (802) Sprawdzenie odpowiedzi na prośbę (805) Dodanie kodu wyświetlającego powiadomienia do metody onRequestPermissionsResult() (809) Kompletny kod pliku MainActivity.java (811) Twój przybornik do Androida (815) Świetnie, że odwiedziliście nas w Androidowie (816) DODATEK A. Układy względne i układy siatki. Poznaj krewnych DODATEK B. Gradle. Program do budowy Gradle DODATEK C. ART. Środowisko uruchomieniowe Androida DODATEK D. ADB. Android Debug Bridge DODATEK E. Emulator Androida. Przyspieszanie emulatora DODATEK F. Pozostałości. Dziesięć najważniejszych zagadnień (których nie opisaliśmy) 1. Rozpowszechnianie aplikacji (862) 2. Dostawcy treści (863) 3. Klasy Loader (864) 4. Adaptery synchronizujące (864) 5. Odbiorcy komunikatów (865) 6. Klasa WebView (866) 7. Ustawienia (867) 8. Animacje (868) 9. Widżety aplikacji (869) 10. Testy zautomatyzowane (870)
Sygnatura czytelni BWEAiI: XII R 41
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 146658 N (1 egz.)
Książka
W koszyku
Kotlin / Dawn Griffiths, David Griffiths ; przekład Piotr Rajca. - Gliwice : Helion, copyright 2020. - XXXI, [1], 434 strony : ilustracje ; 23 cm.
(Rusz głową!)
Tytuł oryginału: Head first Kotlin : a brain-friendly guide.
Na okładce i stronie tytułowej nazwa wydawcy oryginału: O'Reilly.
Na stronie redakcyjnej również ISBN oryginału 9781491996690.
Tytuł oryginału serii: Head First.
ROZDZIAŁ 1. Zaczynamy. Szybki skok Witamy w Kotliczynie (2) Kotlina można używać niemal wszędzie (3) Co zrobimy w tym rozdziale (4) Instalowanie IntelliJ IDEA (Community Edition) (7) Stwórzmy prostą aplikację (8) Właśnie utworzyłeś swój pierwszy projekt w Kotlinie (11) Dodaj do projektu nowy plik Kotlina (12) Anatomia funkcji main (13) Dodaj funkcję main do pliku App.kt (14) Jazda próbna (15) Co możemy nakazać w funkcji main? (16) W kółko i w kółko, i w kółko... (17) Przykład pętli (18) Rozgałęzienia warunkowe (19) Używanie if do zwracania wartości (20) Aktualizujemy funkcję main (21) Stosowanie interaktywnej powłoki Kotlina (23) W REPL można wpisywać fragmenty mające wiele wierszy kodu (24) Wymieszane komunikaty (27) Twój przybornik do Kotlina (30) ROZDZIAŁ 2. Typy proste i zmienne. Być zmienną Twój kod potrzebuje zmiennych (32) Co się dzieje, kiedy zadeklarujesz zmienną? (33) Zmienna zawiera referencję do obiektu (34) Typy proste Kotlina (35) Jak jawnie zadeklarować typ zmiennej? (37) Używaj wartości dostosowanej do typu zmiennej (38) Przypisywanie wartości innej zmiennej (39) Trzeba skonwertować wartość (40) Co się dzieje podczas konwertowania wartości? (41) Uważaj na przepełnienie (42) Zapisywanie wielu wartości w tablicy (45) Tworzymy aplikacje HasłoMator (46) Dodaj kod do pliku HasloMator.kt (47) Kompilator domyśla się typu tablicy na podstawie jej wartości (49) var oznacza, że zmienna może wskazywać na inną tablicę (50) val oznacza, że zmienna zawsze będzie wskazywać tę samą tablicę... (51) Zamotane referencje (54) Twój przybornik do Kotlina (58) ROZDZIAŁ 3. Funkcje. Wychodzimy poza main Napiszmy grę: Kamień, nożyce, papier (60) Ogólny projekt gry (61) Wybieranie opcji przez grę (63) Jak się tworzy funkcje? (64) Do funkcji można przekazywać więcej informacji (65) Pobieranie informacji z funkcji (66) Funkcje, których ciałem jest jedno wyrażenie (67) Dodajemy funkcję getGameChoice do pliku Game.kt (68) Funkcja getUserChoice (75) Jak działają pętle for? (76) Zapytaj gracza, jaką opcję wybiera (78) Pomieszane komunikaty (79) Musimy sprawdzić dane wpisane przez gracza (81) Dodajemy getUserChoice do pliku Game.kt (83) Dodajemy funkcję printResult do pliku Game.kt (87) Twój przybornik do Kotlina (89) ROZDZIAŁ 4. Klasy i obiekty. Trochę klasy Typy obiektowe są definiowane przy użyciu klas (92) Jak projektować własne klasy? (93) Zdefiniujmy klasę Dog (94) Jak utworzyć obiekt Dog? (95) Jak można odwoływać się do właściwości i funkcji? (96) Tworzymy aplikację Piosenki (97) Cud tworzenia obiektu (98) Jak są tworzone obiekty? (99) Za kulisami: Wywoływanie konstruktora (100) Dokładniejsze poznawanie właściwości (105) Elastyczna inicjalizacja właściwości (106) Jak używać bloków inicjalizatora? (107) Właściwości MUSZĄ zostać zainicjowane (108) Jak można weryfikować wartości właściwości? (111) Pisanie własnego akcesora get (112) Pisanie własnego akcesora set (113) Kompletny kod projektu Psy (115) Twój przybornik do Kotlina (120) ROZDZIAŁ 5. Klasy pochodne i bazowe. Stosowanie dziedziczenia Dziedziczenie umożliwia unikanie powielania kodu (122) Co mamy zamiar zrobić? (123) Projektujemy strukturę dziedziczenia klas zwierząt (124) Używaj dziedziczenia, by unikać powielania kodu w klasach pochodnych (125) Co powinny przesłaniać klasy pochodne? (126) Możemy pogrupować niektóre zwierzęta (127) Dodajemy klasy Canine i Feline (128) Sprawdzaj hierarchie klas, używając testu JEST (129) Test JEST działa w dowolnym miejscu drzewa dziedziczenia (130) Stworzymy parę kotliczyńskich zwierząt (133) Deklarujemy klasę bazową oraz jej właściwości i funkcje jako otworzone (134) Jak klasa pochodna dziedziczy po bazowej? (135) Jak (i kiedy) przesłaniać właściwości? (136) Przesłanianie właściwości pozwala na więcej niż tylko określanie wartości domyślnych (137) Jak przesłaniać funkcje? (138) Przesłonięte funkcje i właściwości pozostają otworzone... (139) Dodajemy klasę Hippo do projektu Zwierzęta (140) Dodajemy klasy Canine i Wolf (143) Która funkcja zostanie wywołana? (144) Kiedy wywołujemy funkcję na rzecz zmiennej, wywoływana jest funkcja obiektu (146) Typów bazowych można używać w parametrach funkcji i jako typu zwracanego wyniku (147) Zaktualizowany kod pliku Animals.kt (148) Twój przybornik do Kotlina (153) ROZDZIAŁ 6. Klasy abstrakcyjne i interfejsy. Poważny polimorfizm Hierarchia klasy Animal raz jeszcze (156) Obiektów niektórych klas po prostu nie powinno się tworzyć (157) Abstrakcyjna czy konkretna? (158) Klasy abstrakcyjne mogą mieć abstrakcyjne właściwości i funkcje (159) Klasa Animal ma dwie funkcje abstrakcyjne (160) Jak zaimplementować klasę abstrakcyjną? (162) TRZEBA zaimplementować wszystkie abstrakcyjne właściwości i funkcje (163) Zaktualizujmy kod projektu Zwierzęta (164) Niezależne klasy mogą mieć wspólne zachowania (169) Interfejsy pozwalają definiować wspólne zachowania POZA hierarchią klasy bazowej (170) Zdefiniujmy interfejs Roamable (171) Jak definiować właściwości w interfejsach? (172) Zadeklaruj, że klasa implementuje interfejs... (173) Jak implementować wiele interfejsów? (174) Jak określić, czy stworzyć klasę, klasę pochodną, klasę abstrakcyjną czy interfejs? (175) Aktualizujemy projekt Zwierzęta (176) Interfejsy pozwalają na stosowanie polimorfizmu (181) Gdzie używać operatora is? (182) Używaj when do porównywania zmiennej z grupą opcji (183) Operator is zazwyczaj wykonuje inteligentne rzutowanie (184) Używaj operatora as w celu jawnego rzutowania (185) Aktualizujemy projekt Zwierzęta (186) Twój przybornik do Kotlina (189) ROZDZIAŁ 7. Klasy danych. Używanie danych Operator == wywołuje funkcję o nazwie equals (192) Funkcja equals pochodzi z klasy bazowej Any (193) Wspólne zachowania zdefiniowane w klasie Any (194) Możemy chcieć, by funkcja equals sprawdzała, czy obiekty są równoważne (195) Klasa danych pozwala na tworzenie obiektów danych (196) Klasy danych przesłaniają odziedziczone zachowania (197) Kopiowanie obiektów danych przy użyciu funkcji copy (198) Klasy danych definiują funkcje componentN... (199) Tworzymy projekt Przepisy (201) Pomieszane komunikaty (203) Wygenerowane funkcje używają jedynie właściwości zdefiniowanych w konstruktorze (205) Inicjalizowanie wielu właściwości może powodować powstawanie kłopotliwego kodu (206) Jak używać domyślnych wartości konstruktora? (207) Także funkcje mogą używać wartości domyślnych (210) Przeciążanie funkcji (211) Zaktualizujmy projekt Przepisy (212) Ciąg dalszy kodu... (213) Twój przybornik do Kotlina (217) ROZDZIAŁ 8. Wartość null i wyjątki. Cały i zdrów Jak usuwać ze zmiennych referencje do obiektu? (220) Referencje usuwamy, używając null (221) Typów akceptujących null możesz używać wszędzie tam, gdzie typów, które null nie akceptują (222) Jak utworzyć tablice typu akceptującego null? (223) Jak odwoływać się do funkcji i właściwości typów akceptujących null? (224) Dbaj o bezpieczeństwo, używając bezpiecznych wywołań (225) Bezpieczne wywołania można łączyć w łańcuch (226) Ciąg dalszy historii... (227) Bezpiecznych wywołań można używać do przypisywania wartości... (228) Używaj let, by wykonywać kod, jeśli wartości będą różne od null (231) Stosowanie let z elementami tablic (232) Zamiast używać wyrażenia if... (233) Operator !! celowo zgłasza wyjątek NullPointerException (234) Tworzymy projekt Wartości Null (235) Ciąg dalszy kodu... (236) Wyjątki są zgłaszane w wyjątkowych sytuacjach (239) Przechwytuj wyjątki, używając try i catch (240) Użyj finally, by określić czynności, które mają być wykonane zawsze (241) Wyjątek to obiekt typu Exception (242) Wyjątki można zgłaszać jawnie (244) Try i catch to wyrażenia (245) Twój przybornik do Kotlina (250) ROZDZIAŁ 9. Kolekcje. Zorganizuj się Tablice mogą być przydatne... (252) ...są jednak rzeczy, których tablice nie potrafią (253) Jeśli masz wątpliwości, sięgnij do Biblioteki (254) List, Set oraz Map (255) Fantastyczne listy... (256) Tworzenie listy MutableList... (257) Możemy usunąć wartość... (258) Można zmieniać kolejność i operować na większych grupach elementów... (259) Utwórz projekt Kolekcje (260) Listy dopuszczają duplikaty (263) Jak tworzyć zbiory? (264) Jak zbiory wyszukują duplikaty? (265) Kody mieszające i równość (266) Reguły przesłaniania funkcji hashCode i equals (267) Jak używać klasy MutableSet? (268) Aktualizujemy projekt Kolekcje (270) Czas na mapy (276) Sposoby korzystania z map (277) Tworzenie map MutableMap (278) Z mapy MutableMap można usuwać elementy (279) Mapy Map i MutableMap można kopiować (280) Kompletny kod projektu Kolekcje (281) Wymieszane komunikaty (285) Twój przybornik do Kotlina (287) ROZDZIAŁ 10. Typy sparametryzowane. Odróżniaj wariancję od kontrawariancji Kolekcje używają typów sparametryzowanych (290) Jak jest zdefiniowany typ MutableList? (291) Stosowanie parametrów typów w MutableList (292) Co można robić ze sparametryzowanymi klasami i interfejsami? (293) Oto co mamy zamiar zrobić (294) Tworzymy hierarchię klasy Pet (295) Definiujemy klasę Contest (296) Dodajemy właściwość scores (297) Tworzymy funkcję getWinners (298) Tworzymy kilka obiektów Contest (299) Tworzymy projekt TypySparametryzowane (301) Hierarchia typu Retailer (305) Definiujemy interfejs Retailer (306) Możemy tworzyć obiekty CatRetailer, DogRetailer i FishRetailer... (307) Użyj out, by typ sparametryzowany był kowariantny (308) Aktualizujemy projekt TypySparametryzowane (309) Potrzebujemy klasy Vet (313) Tworzenie obiektów Vet (314) Użyj in, by typ sparametryzowany był kontrawariantny (315) Typ sparametryzowany może być lokalnie kontrawariantny (316) Aktualizujemy projekt TypySparametryzowane (317) Twój przybornik do Kotlina (324) ROZDZIAŁ 11. Lambdy i funkcje wyższego rzędu. Kod używany jak dane Prezentacja lambd (326) Jak wygląda kod lambdy? (327) Lambdy można zapisywać w zmiennych (328) Wyrażenia lambda mają typ (331) Kompilator może wywnioskować typ parametrów lambdy (332) Używaj lambdy dostosowanej do typu zmiennej (333) Tworzenie projektu Lambdy (334) Możesz przekazać lambdę do funkcji (339) Wywołanie lambdy w ciele funkcji (340) Co się dzieje podczas wywołania funkcji? (341) Lambdę można przenieść poza nawiasy ()... (343) Aktualizujemy projekt Lambdy (344) Funkcje mogą zwracać lambdy (347) Piszemy funkcję, która pobiera I zwraca lambdy (348) Jak można używać funkcji combine? (349) Użyj typealias, by nadać inną nazwę istniejącemu typowi danych (353) Aktualizujemy kod projektu (354) Twój przybornik do Kotlina (361) ROZDZIAŁ 12. Wbudowane funkcje wyższego rzędu. Wzmocnij swój kod Kotlin udostępnia sporo funkcji wyższego rzędu (364) Funkcje min i max operują na prostych typach danych (365) Bliższe spojrzenie na parametry funkcji minBy i maxBy (366) Funkcje sumBy i sumByDouble (367) Tworzymy projekt Spożywczak (368) Poznaj funkcję filter (371) Używaj funkcji map, by przekształcać kolekcje (372) Co się dzieje podczas wykonywania kodu? (373) Ciąg dalszy historii... (374) Funkcja forEach działa jak pętla (375) Funkcja forEach nie zwraca wyniku (376) Aktualizujemy projekt Spożywczak (377) Użyj groupBy, by podzielić kolekcję na grupy (381) Funkcji groupBy można używać w łańcuchach wywołań (382) Jak używać funkcji fold (383) Za kulisami: funkcja fold (384) Więcej przykładów użycia funkcji fold (386) Aktualizujemy projekt Spożywczak (387) Pomieszane komunikaty (391) Twój przybornik do Kotlina (394) Wyjeżdżamy... (395) Dodatek A. Koprocedury. Współbieżne wykonywanie kodu Dodatek B. Testowanie. Pociągnij swój kod do odpowiedzialności Dodatek C. Pozostałości. Dziesięć najważniejszych rzeczy (których nie opisaliśmy) 1. Pakiety i importowanie (416) 2. Modyfikatory widoczności (418) 3. Klasy wyliczeniowe (420) 4. Klasy zapieczętowane (422) 5. Klasy zagnieżdżone i wewnętrzne (424) 6. Deklaracje obiektów i wyrażenia (426) 7. Rozszerzenia (429) 8. Return, break i continue (430) 9. Więcej zabawy z funkcjami (432) 10. Współdziałanie (434)
Sygnatura czytelni BWEAiI: XII N 153
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 149895 N (1 egz.)
Pozycja została dodana do koszyka. Jeśli nie wiesz, do czego służy koszyk, kliknij tutaj, aby poznać szczegóły.
Nie pokazuj tego więcej

Deklaracja dostępności