|Laboratory (A0) - ANDROID - Introduction, Android Studio configuration|
with Android platform and its Integrated Development Environment.
Archival materials for Eclipse IDE:
|Laboratory (A1) - ANDROID - Understand Activity Life Cycle.|
|Download, unpack and import example 03-1-LifeCycleDemo (Eclipse
from V.Matos archives, or try to create your own version of such Android application, signaling changes of internal state through notifying Toasts e.g.
Toast.makeText(this, "onCreate", 1).show();
implemented for all following events: onCreate, onStart, onResume,
onSaveInstanceState, onPause, onStop, onDestroy, onRestart.
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.
- Android Application's Life Cycle
|Laboratory (A2) - ANDROID - Creating simple interactive application|
- Techotopia / 8. A Guide to the Android Studio Designer Tool
- Techotopia / 9. Designing a User Interface using the Android Studio Designer Tool
- Techotopia / 10. Creating an Android 6 User Interface in Java Code
|Laboratory (A3) - ANDROID - Experiments with UI design|
|Create single screen/activity application demonstrating the
use of: Layouts, Widgets, and Menu components to compose the user
- Lesson 4: Graphical User Interfaces (Victor Matos)
- Using ConstraintLayout to design your views (Google Developers CodeLabs)
Some hints, for "responsive" user interface design (for calculator):
- Building The UI Constraint Layout - Orientation And Resolution
- Building The UI Constraint Layout - A Calculator App example
|Laboratory (A4) - ANDROID - Intents and multi-screen apps|
|Create a multi-activity application demonstrating the
use of Android's
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.
- Lesson 10: Android Intents (by Victor Matos)
- Android Intents - Tutorial (by Lars Vogel)
- Retrieving Details for a Contact
|Laboratory (A5) - ANDROID - Telephony API|
|Create "TelephonyDemo" application which provides options
- 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 (A_Project) - ANDROID - advanced application|
|Laboratory ( i1 )
- iOS Intro, development environment, startup
with Apple iOS10 mobile platform and XCode8 IDE:
- Lecture 1 - Introduction to iOS 10, Xcode 8 and Swift 3 - video on YouTube,
- Lecture 2 - MVC, iOS, Xcode - demonstration - based on materials from the
Stanford University CS193P course "Developing iOS 10 Apps with Swift"
- On line Swift 3.1 documentation
or local copy of "Swift 3.0 programming language" PDF handbook.
- New handbook "App Development with Swift" by Apple Education (free)
- Techotopia - iOS 10 App Development Essentials (with Swift 3),
- Techotopia - iOS 9 App Development Essentials (with Swift 2.2),
- PDF presentation: Walkthrough iOS 5
|Laboratory ( i2 ) - iOS - ViewController life cycle, Segues in Storyboard|
|Laboratory ( i3 )
- TableViewController, Master-Detail
|7.x / 8.x
|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 2015 (or newer version 2017).
Getting familiar with the possibilities of creating applications for mobile devices using the Universal Windows Platform:
Adaptive User Intarface, Pages and Navigation
Application distribution through Windows App Store