Programowanie urządzeń mobilnych 0800-PROGUMO
Zagadnienia omówione na wykładzie (technologia Xamarin):
- Szablon projektu
- Prosta aplikacja z GUI (przycisk, etykieta, lista)
- Projektowanie interfejsu (zagnieżdżanie widoków, zmiana wyglądu kontrolek, SeekBar, Spinner, ShapeDrawable)
- Trwałe przechowywanie stanu aplikacji (ustawienia), Cykl życia aktywności
- Lokalizacja aplikacji poprzez zasoby
- Intencje
- Odczytywanie stanu urządzenia
- Czujniki
- Powiadomienia
- Usługi
- Style i tematy.
- Wątki
- Sterowanie wibracją
- Odczytywanie i dodawanie kontaktów
- Grafika 2D
- Detekcja dotyku i "wielodotyku" [txt]
- Odtwarzanie dźwięku
- Korzystanie z bazy danych SQLite
- Odczyt i zapis plików XML
- Łączenie urządzeń (TCP)
- MVVMCross
Spośród tych zagadnień wspólnie ze studentami wybierane jest ok. 3/4.
Zagadnienia omawiane na laboratorium (technologia React Native):
1. Podstawowe narzędzia do pracy z technologią React Native.
2. Instalacja oprogramowania i konfiguracja środowiska.
3. Struktura projektu, pliki źródłowe i pliki konfiguracyjne.
4. Tworzenie layoutu flexbox aplikacji mobilnej.
5. Praca z listami i plikami JSON.
6. Pobieranie zasobów z serwerów zdalnych (fetch, async, await).
7. Asynchroniczne zarządzanie stanem komponentów (state i setState).
8. Tworzenie komponentów prezentacyjnych i kontenerowych.
9. Tworzenie różnych typów nawigacji (stack, tabs, drawer) z obsługą historii, gestów i animacji przy użyciu modułu React Navigation.
10. Implementacja systemu logowania i personalizacji aplikacji przy wykorzystaniu platformy Google Firebase.
11. Wykorzystanie modułu React Native Sensors do obsługi sensorów urządzenia.
12. Zaawansowane zarządzanie stanem aplikacji przy pomocy biblioteki Redux.
13. Generowanie podpisanej aplikacji mobilnej.
Całkowity nakład pracy studenta
Efekty uczenia się - wiedza
Efekty uczenia się - umiejętności
Efekty uczenia się - kompetencje społeczne
Metody dydaktyczne
Metody dydaktyczne podające
- opis
- wykład informacyjny (konwencjonalny)
- pogadanka
- wykład problemowy
- wykład konwersatoryjny
Rodzaj przedmiotu
Wymagania wstępne
Koordynatorzy przedmiotu
Kryteria oceniania
Egzamin "z rękami na klawiaturze" weryfikuje efekty: W1-W3 i U1
Kolokwium weryfikuje efekty: W1-W3, U1
Wykład: na podstawie egzaminu
50-60% - ocena: 3
60-70% - ocena: 3+
70-80% - ocena: 4
80-90% - ocena: 4+
90-100% - ocena 5
Laboratorium: zaliczenie na ocenę na podstawie projektów zaliczeniowych
50-60% - ocena: 3
60-70% - ocena: 3+
70-80% - ocena: 4
80-90% - ocena: 4+
90-100% - ocena 5
Praktyki zawodowe
Nie dotyczy
Literatura
Literatura do wykładu:
Oficjalna strona Google Android dla deweloperów
http://developer.android.com/index.html
Oficjalna strona Xamarin
https://visualstudio.microsoft.com/pl/xamarin/
Materiały ze strony wykładowcy:
http://fizyka.umk.pl/~jacek/dydaktyka/mobilne/xamarin/
Literatura do laboratorium:
Materiały za strony prowadzącego laboratorium:
http://www.is.umk.pl/~kdobosz/pum
Oficjalna dokumentacja React Native:
https://facebook.github.io/react-native
Dokumentacja projektu React Navigation:
https://reactnavigation.org
Dokumentacja modułu React Native Sensors:
https://react-native-sensors.github.io
Dokumentacja biblioteki Redux:
https://redux.js.org
Dokumentacja platformy Google Firebase:
https://firebase.google.com/
Specyfikacja ECMAScript (ECMA-262) - minimum 7 edycja (2016):
http://www.ecma-international.org/ecma-262/
Specyfikacja języka JSX:
https://jsx.github.io
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: