Terminy: | Poniedziałek
09:15-11:00, 11:15-13:00 |
Miejsce: |
Lab. 2.3 /
C16 |
Prowadzący:
|
dr
Marek Piasecki |
Konsultacje: |
prowadzacy.pwr.edu.pl pok. 321/C3 |
Laboratorium (A0) - Konfiguracja środowiska Android Studio |
Zapoznanie się ze
środowiskiem programistycznym:
|
Laboratorium (A1) - Analiza cyklu życia Aktywności w aplikacji Android. |
Pobierz z Internetu,
rozpakuj, zaimportuj i przetestuj w
środowisku Android Studio przykładową aplikację LifeCycle demo z archiwum
V. Matosa, a następnie spróbuj wykonać własną wersję takiej aplikacji, która będzie sygnalizować zmiany wewnętrznego stanu Aktywności, poprzez wyświetlanie powiadomień za pomocą obiektów klasy Toast:. Toast.makeText(this, "onCreate", 1).show(); zaimplementuj w ten sposób działanie metod obsługujących wybrane podstawowe wydarzenia: onCreate, onStart, onResume, onSaveInstanceState, onPause, onStop, onDestroy, onRestart. Podpowiedź: To
zadanie będzie łatwiejsze gdy wykorzystasz opcję menu
Code > Override Methods… (skrót Ctrl+O)
dostępną
w środowisku Android Studio.
Zaobserwuj i zanotuj sekwencje komunikatów Toast wyświetlanych po::
poprzez otwarcie okna z listą zainstalowanych aplikacji (launch pad), i przywrócenie/uruchomienie aplikacji, klikając na jej ikonie. Zaobserwowane sekwencje komunikatów opisz i skomentuj, w formie sprawozdania, w pliku o nazwie: Laboratorium_1.txt lub Laboratorium_1.pdf Materiały/slajdy pomocnicze: - Android Application's Life Cycle |
Laboratorium (A2) - Implementacja aplikacji wykonującej proste obliczenia |
|
Laboratorium (A3) - ANDROID - Ćwiczenia z projektowaniem "responsive" UI | ||||
Oprogramuj
jednoekranową aplikację (single Activity app)
demonstrującą wykorzystanie komponentów dziedziczących po klasie View
(Layouts, Widgets) do skonstruowania interfejsu użytkownika, który
będzie się dynamicznie dopasowywał do: wielkości (small, normal, large, ... itd), rozdzielczości (ldpi, mdpi, ... itd) i
orientacji (port, land, square) wyświetlacza:
|
Laboratorium (A4) - ANDROID - aplikacje złożone z wielu okien/aktywności |
Oprogramuj złożoną wielo-okienkową aplikację, demonstrującą
wykorzystanie obiektów klasy Intent oraz
metody startActivity(...)
do uruchamiania własnych oraz wbudowanych aktywności systemu Android
(takich jak: Contacts, PhoneDialer, WebBrowser, GoogleMap). Klikanie
przycisków umieszczonych w głównym oknie/aktywności tego programu
powinno powodować:
Inne materiały pomocnicze: Tutorial na temat Intencji oraz Aktywności w systemie Android (aut. Lars Vogel): - Android Intents - Tutorial Rozdziały z podręcznika online "Android Studio Development Essentials (Techotopia) - 28 - An Overview of Android 6 Intents - 29 - Android 6 Explicit Intents - 30 - Android 6 Implicit Intents Zmiany w systemie nadawania uprawnień (od API Level 23 - Android 6.0) - Requesting Permissions at Run Time |
Laboratorium (A5) - Przesyłanie danych poprzez SMS/MMS (Telephony API) |
Napisz aplikację "TelephonyDemo", która zademonstruje jak
należy oprogramować następujące funkcjonalności:
- Chapter 7. Telephony API - przykładowy rozdział z podręcznika "Android in Action" - Requesting Permissions at Run Time - jak rozwiązać problem odmowy uprawnień (permission denied error) gdy targetSdkVersion jest 23 lub nowsze. - przykładowy tutorial Detecting & sending SMS on Android (2018 - zaktualizowany do nowej polityki uprawnień i nowej obsługi odbierania SMS) |
Laboratorium (Projekt-Android) |
|
Laboratorium (i1)
- Wprowadzenie iOS/Swift, środowisko Xcode, HelloWord |
Zadanie domowe: W ramach przygotowania do pierwszego laboratorium z tematu iOS, zapoznaj się z dwoma wprowadzającymi video-wykładami kursu "Developing iOS 10 Apps with Swift" dostępnymi na YouTube:
Podczas laboratorium: Praktyczne ćwiczenia z programowaniem aplikacji w środowisku Xcode oraz zapoznanie się z podstawowymi elementami składowymi projektu dla systemu iOS
Materiały uzupełniające: - Dokumentacja on-line języka programowania Swift w wersji 3 / 4 - Podręcznik programowania z portalu Techotopia - iOS 10 App Development Essentials - Walkthrough iOS 5 - archiwalne slajdy (2013) opisujące znaczenie kontrolek i paneli środowiska Xcode (to była wersja 4, ale wiele elementów pozostało bez zmian) |
Laboratorium (i2)
cykl życia ViewController-a, Storyboard i przejścia
(Segues) |
|
Laboratorium (i3) Komponent
TableView(Controller), Architektura Master-Detail |
Inne materiały:
|
Programowanie
aplikacji mobilnych dla systemu Windows 10 (Universal Windows Platform) |
Laboratorium (W1)
- Środowisko programisty UWP, HelloWord, Cykl życia |
Zadanie domowe: W ramach przygotowania do pierwszego laboratorium z tematu Windows Mobile, zapoznaj się z dwoma wprowadzającymi prezentacjami z portalu Get started with Windows apps :
Podczas laboratorium: Praktyczne ćwiczenia z programowaniem aplikacji w środowisku Visual Studio 2015 oraz zapoznanie się z możliwościami tworzenia aplikacji na urządzenia mobilne z wykorzystaniem Universal Windows Platform:
Archiwalne materiały dla Windows Phone 8.1 (duża część jest nadal aktualna)
|
Laboratorium (W2)
Adaptacyjny interfejs użytkownika. |
Przeczytaj wybrane rozdziały z podanego poniżej podręcznika "Windows 10 ... for beginners": - UWP-008 - XAML Layout with Grids - UWP-009 - XAML Layout with StackPanel - UWP-017 - XAML Layout with RelativePanel a następnie wykorzystaj zawarte w nich wskazówki do napisania aplikacji zaawansowanego matematycznego kalkulatora (z historią), który będzie adaptacyjnie dopasowywał swój interfejs do rozmiaru oraz orientacji ekranu urządzenia. Uwzględnij przynajmniej trzy różne rozmiary ekranu oraz reakcje na zmianę orientacji (pionowa/pozioma) dla przynajmniej jednego rozmiaru. Dodatkowe informacje na temat adaptacji interfejsu dla różnych wielkości/orientacji ekranu oraz różnych urządzeń są opisane w rozdziałach 037-039. Materiały pomocnicze: - Chanel_9/MSDN kurs: "Windows 10 Development for Absolute Beginners" (Video) - podręcznik: "Windows 10 Development for Absolute Beginners" (PDF) |
Laboratorium (W3) Nawigacja i przekazywanie danych pomiędzy stronami (ekranami) aplikacji. Dystrybucja aplikacji poprzez sklep Microsoft Store |
|