Laboratory (A0) - ANDROID - Introduction, Android Studio configuration |
Getting
familiar
with Android platform and its Integrated Development Environment.
|
Laboratory (A1) - ANDROID - Understand Activity Life Cycle. |
Preparation
: review chapters 12,13,14 from "Android Studio Essentials 12-13-14" ebook preview. In the lab: Download, unpack and open example LifeCycle demo (based on course by Victor Matos) and try to analyse / debug the application, following the instructions from page 22 (from slides listed at the bottom). As more adavnced exercise variant, you may try to create your own version of such Android application,which is signaling changes of internal state, through notifying Toasts e.g. Toast.makeText(this, "onCreate", 1).show(); Implement such "toasts" for all basic events: onCreate, onStart, onResume, onSaveInstanceState, onPause, onStop, onDestroy, onRestart. Hint: This
task could be simplified with the use of
Code
> Override Methods…
(shortcut: Ctrl+O)
option
from the Android Studio’s top menu.
(sort by percent of classes which override the method) Observe and note the sequence of messages displayed by the Toast-commands after:
and selecting your application icon. Supplementary reading: - Android Application's Life Cycle |
Laboratory (A2) - ANDROID - Creating simple interactive application |
Supplementary reading: - Techotopia / 3. Creating an Example Java Android App in Android Studio - Techotopia / 15. Understanding Android Views, View Groups and Layouts - Techotopia / 16. A Guide to the Android Studio Layout Editor Tool older (UI created at runtime, in code) - Techotopia / 10. Creating an Android 6 User Interface in Java Code |
Laboratory (A3) - ANDROID - Experiments with "responsive" UI design |
Create
a single screen/activity application, demonstrating the use of
components inheriting from the View class (Widgets, Layouts) to
construct a user interface, that will dynamically adopt to the target
device display::
Regular "matrix of buttons", using XML: TableLayout or GridLayout: |
Laboratory (A4) - ANDROID - Intents and multi-screen apps |
Create a multi-activity application demonstrating the
use of Android's
Intents to start another activity or build-in Intent handlers (platform provided applications) like: Contacts, Phone Dialer, Web Browser, Google Map, etc:
At least one of them must return back some results to the launching code. Supplementary readings: - Lesson 10: Android Intents (by Victor Matos) - Android Developers - Common Intents (Alarm, Calendar, Camera, Contacts, email, ...) - Android Intents - Tutorial (by Lars Vogel) - Retrieving Details for a Contact |
Laboratory (A5) - ANDROID - Telephony API |
Create "TelephonyDemo" application which provides
options
for:
- Chapter 7. Telephony API - example chapter from book "Android in Action" - Requesting Permissions at Run Time - how to solve the permission denied error (in API / targetSdkVersion of 23 or higher) - example tutorial Detecting & sending SMS on Android (version 2018 - updated to new policy of requesting permissions and new approach to unpack SMS messages) - hints how to listen for phone/network state changes are described on slides 12-17 of presentation Android - Telephony & SMS |
Laboratory (A6) - ANDROID - UI for collection of items - RecyclerView |
Implement an Activity which allow to perform CRUD
operations on in-memory list of items (or on SQLite database table).
|
Laboratory (A_Project) - ANDROID - advanced application |
|
Laboratory ( i1 )
- iOS Intro, development environment,
startup
application |
Getting familiar
with Apple iOS16 mobile platform and XCode 14 IDE:
- On line Swift 5 documentation or local copy of "Swift 5.1 programming language" PDF handbook. - Answertopia eBook - iOS 16 App Development Essentials (with Swift 5), - 2018 Lecture 1 - Introduction to iOS 11, Xcode 9 and Swift 4 - video on YouTube, - 2018 Lecture 2 - MVC, iOS, Xcode - demonstration - based on materials from the Stanford University CS193P course "Developing iOS 11 Apps with Swift" |
Laboratory ( i2 ) - iOS - ViewController life cycle, Segues in Storyboard |
|
Laboratory ( i3 )
- TableViewController, Master-Detail
programming pattern |
|
Laboratory (W1)
-
Windows 10 Mobile - Introduction, IDE, application lifecycle |
Homework
/ preparation for the lab: As part of the preparation for the first Windows Mobile lab, watch the introductory presentations from the Microsoft portal Get started with Windows apps :
Task to do in the laboratory: Practical programming exercises in Visual Studio 2017/19. Getting familiar with the possibilities of creating applications for mobile devices using the Universal Windows Platform:
|
Laboratory (W2)
Adaptive User Intarface, Visual States and XML Triggers |
Supplementary materials:
|
Laboratory (W3)
Navigation / App distribution through Microsoft
Store |
Windows App distribution through Internet Store:
|