BitEdu - liceum i technikum
INF.04
Lekcje otwarte możesz czytać od razu. Materiały oznaczone kontem zawierają zadania, kod lub pliki przeznaczone dla przypisanych uczniów.
Aplikacje mobilne (.NET MAUI)
Wprowadzenie do aplikacji mobilnych — rodzaje i cykl życia
Zanim napiszesz pierwszą linijkę kodu, musisz wiedzieć, CZYM w ogóle jest aplikacja mobilna, jakie są jej rodzaje i jak wygląda jej cykl życia — to fundament wymagany przez INF.04.6 i częsty temat pytań teoretycznych na egzaminie. Ten dział będzie oparty na .N...
Środowisko pracy — Visual Studio, .NET MAUI i emulatory
To najważniejsza różnica względem działu WPF: w .NET MAUI NIE MA wizualnego projektanta z przeciąganiem kontrolek na podgląd okna. Piszesz XAML ręcznie, a efekt sprawdzasz przez Hot Reload i emulator urządzenia mobilnego. Zanim napiszesz jakikolwiek kod, musis...
Pierwszy projekt .NET MAUI — struktura i podstawy XAML
Czas utworzyć pierwszą prawdziwą aplikację MAUI. Ta lekcja pokazuje, z jakich plików i folderów składa się świeży projekt, czym jest XAML i jak łączy się z kodem C# w tzw. code-behind — dokładnie tak samo jak w WPF, ale z innymi nazwami klas (ContentPage zamia...
Layouty I — VerticalStackLayout, HorizontalStackLayout, Grid
Layout to kontener, który decyduje, jak rozmieszczone są kontrolki na ekranie — bez niego przyciski i pola tekstowe nakładałyby się na siebie. .NET MAUI oferuje więcej rodzajów layoutów niż WPF, bo musi dobrze działać na bardzo różnych rozmiarach ekranów (mały...
Layouty II — FlexLayout, AbsoluteLayout, ScrollView, ContentView
Grid i StackLayout załatwiają większość formularzy, ale nie wszystko — czasem potrzebujesz elastycznego "zawijania" elementów (jak CSS Flexbox), przewijalnego długiego formularza, albo powtarzalnego fragmentu interfejsu. Ta lekcja kończy przegląd layoutów MAUI...
Kontrolki I — Label, Entry, Editor, Button, Image
Kontrolki to podstawowe elementy interfejsu — przyciski, pola tekstowe, obrazy. Ta lekcja dogłębnie omawia pięć najczęściej używanych kontrolek MAUI razem z PEŁNYM zestawem ich właściwości — nie tylko "rzuca hasłem", żebyś wiedział dokładnie, jakie opcje ma ka...
Kontrolki II — CheckBox, RadioButton, Switch, Slider, Pickery
Formularze rzadko ograniczają się do wpisywania tekstu — potrzebujesz też kontrolek do zaznaczania opcji, wyboru z listy, dat i godzin. Ta lekcja dogłębnie omawia dziewięć kontrolek wyboru w .NET MAUI razem z pełnymi tabelami właściwości.
Kontrolki III — ProgressBar, ActivityIndicator, CollectionView, ListView
Ta lekcja kończy przegląd kontrolek MAUI: dwie kontrolki informujące o trwającej operacji (ProgressBar, ActivityIndicator) i dwie kontrolki list — CollectionView (nowoczesna, zalecana) i ListView (starsza, wciąż spotykana). Pełne, praktyczne użycie list z bind...
Obsługa zdarzeń — anatomia handlera i okna DisplayAlert
W aplikacji mobilnej mamy dwie części: XAML (wygląd) i C# (logika). Żeby aplikacja zareagowała na kliknięcie czy wpisanie tekstu, trzeba połączyć kontrolkę z metodą w C# — to złączenie zdarzenia z metodą. Ta lekcja rozkłada na czynniki pierwsze anatomię takiej...
Obsługa zdarzeń kontrolek — Switch, Slider, Picker, Date/TimePicker
Każda kontrolka wyboru ma swoje WŁASNE zdarzenie i swój WŁASNY typ EventArgs z konkretnymi danymi. Ta lekcja systematycznie przechodzi przez zdarzenia Switch, Slider, Stepper, Picker, DatePicker, TimePicker i SearchBar — a na koniec pokazuje "wzorzec egzaminac...
Nawigacja I — NavigationPage i nawigacja modalna
Rzadko aplikacja mobilna ma tylko jeden ekran — zwykle są ekrany logowania, listy, szczegółów, ustawień. Nawigacja to mechanizm przechodzenia między nimi. Ta lekcja pokazuje dwa klasyczne sposoby: NavigationPage (stos stron, "przejdź dalej/wróć") i nawigację m...
Nawigacja II — Shell, trasy i przekazywanie parametrów
Shell to dziś rekomendowany, nowoczesny standard nawigacji w .NET MAUI — działa jak mapa całej aplikacji z zarejestrowanymi trasami (adresami), do których przechodzisz PO NAZWIE, a nie przez tworzenie obiektów stron ręcznie. Dodatkowo daje "za darmo" menu bocz...
Oddzielenie logiki od UI — wprowadzenie do wzorca MVVM
Do tej pory cała logika (sprawdzanie danych, obliczenia, formatowanie tekstu) siedziała bezpośrednio w code-behind strony, wymieszana z obsługą przycisków. To działa dla małych przykładów, ale w większym projekcie mobilnym szybko robi się bałagan — trudno znal...
Modele danych i walidacja w .NET MAUI
Podczas tworzenia aplikacji bardzo często pracujemy z danymi, które użytkownik wpisuje w formularzach (imię, wzrost, waga, e-mail, wiek...). Trzymanie tych danych w kilkunastu osobnych zmiennych szybko robi się nieczytelne, a co gorsza — nic nie broni aplikacj...
Wyświetlanie list danych — CollectionView, binding i ItemTemplate
W lekcji o kontrolkach poznałeś CollectionView jako "kontrolkę do list". Teraz czas zobaczyć, jak NAPRAWDĘ się jej używa w praktyce: skąd CollectionView bierze dane, jak wygląda pojedynczy wiersz listy, i jak sprawić, żeby lista sama odświeżała się po zmianie...
Obsługa plików TXT i JSON w .NET MAUI
Bez trwałego zapisu aplikacja traci wszystkie dane po zamknięciu — każde uruchomienie zaczyna się od zera. Pliki pozwalają zachować dane na urządzeniu i wczytać je przy kolejnym starcie aplikacji. To dokładnie ten scenariusz, którego wymaga egzamin INF.04: zap...
Bazy danych SQLite w aplikacji mobilnej — wprowadzenie
Pliki TXT i JSON z poprzedniej lekcji świetnie nadają się do prostych danych, ale gdy aplikacja ma przechowywać setki czy tysiące rekordów, sortować je, wyszukiwać i filtrować — zapisywanie całej listy jako jeden plik JSON za każdym razem robi się nieefektywne...
Projekt: sklep z produktami i koszykiem (SQLite, dwie powiązane tabele)
Poprzednia lekcja pokazała SQLite na przykładzie JEDNEJ tabeli notatek. W prawdziwych aplikacjach dane niemal zawsze są ze sobą POWIĄZANE — produkt należy do koszyka, zamówienie należy do klienta. Ten projekt pokazuje, jak zbudować dwie powiązane tabele (Produ...
Multimedia w .NET MAUI — odtwarzanie dźwięku
Niektóre zadania egzaminacyjne i realne aplikacje (odtwarzacz muzyki, aplikacja do nauki wymowy, gra z efektami dźwiękowymi) wymagają odtwarzania dźwięku. W przeciwieństwie do WPF (gdzie służy do tego wbudowana kontrolka MediaElement), .NET MAUI nie ma prosteg...
REST API w .NET MAUI — pobieranie danych z internetu
Prawdziwe aplikacje mobilne rzadko działają w izolacji — pobierają dane z serwera (lista produktów, wiadomości, pogoda), a często też wysyłają dane z powrotem. Ta lekcja pokazuje, jak aplikacja MAUI komunikuje się z serwerem przez REST API: wysyła żądanie HTTP...
GPS i lokalizacja w .NET MAUI
Wiele aplikacji mobilnych korzysta z lokalizacji urządzenia — nawigacja, aplikacje pogodowe, wyszukiwanie najbliższych punktów usługowych. Ta lekcja pokazuje, jak poprawnie poprosić użytkownika o zgodę na dostęp do lokalizacji (co jest OBOWIĄZKOWE ze względów...
Preferences w .NET MAUI — zapamiętywanie ustawień użytkownika
Prawie każda aplikacja mobilna ma jakieś ustawienia użytkownika — wybrany motyw kolorystyczny, włączone/wyłączone powiadomienia, zapamiętane imię. Zapisywanie takich MAŁYCH pojedynczych wartości przez pełną bazę SQLite albo plik JSON byłoby przesadą — do tego...
Powiadomienia lokalne w .NET MAUI — wersja Android
Powiadomienia to jeden z najbardziej rozpoznawalnych elementów aplikacji mobilnych — przypomnienie o zadaniu, potwierdzenie zamówienia, alarm. Ta lekcja pokazuje kompletny, działający mechanizm powiadomień lokalnych (wyświetlanych bez serwera, bezpośrednio prz...
Zegar i prosty terminarz w .NET MAUI
Aplikacje typu zegar czy kalendarz to jeden z klasycznych przykładów prostych aplikacji mobilnych wymienionych wprost w podstawie programowej INF.04.6. Ta lekcja łączy kilka poznanych już mechanizmów (kontrolki czasu, zdarzenia, model danych, ObservableCollect...
Dostosowanie aplikacji .NET MAUI do platformy i rozmiaru ekranu
Jedną z największych zalet .NET MAUI jest to, że ten sam kod działa na telefonie, tablecie, Androidzie, iOS i Windows — ale "działa" nie zawsze oznacza "wygląda dobrze" na każdym z nich. Ta lekcja pokazuje trzy poziomy dostosowania interfejsu: różne wartości d...
Publikowanie aplikacji .NET MAUI na Androida — APK i AAB
Napisanie działającej aplikacji to nie koniec pracy — podstawa programowa INF.04.6 wprost wymaga umiejętności "przygotowania aplikacji do publikacji w sklepie". Ta lekcja pokazuje ostatni krok cyklu życia aplikacji mobilnej: przygotowanie danych aplikacji, pod...
Projekt końcowy — kompletna aplikacja MAUI i zadanie kontrolne
Czas połączyć wszystko, czego nauczyłeś się w całym dziale, w jeden spójny projekt — dokładnie w takiej formie, w jakiej zadania pojawiają się na egzaminie zawodowym INF.04. To najlepszy sposób sprawdzenia, czy potrafisz samodzielnie zaprojektować i zbudować k...
Wizytówka MAUI — aplikacja dwuekranowa
Projekt krok po kroku: formularz, schowek danych, NavigationPage, druga strona, zdjęcie i eksport PNG.