Development of native-based and hybrid applications for mobile environments taking advantage of gesture-based input and using location and presence services. Topics include introduction to low-level network services and mobile platforms, description of architectural patterns, principles of mobile development and interaction styles for network service usage. Topics Covered: Multi-threaded application development on iOS and Android; Platform agnostic data representations: XML and JSON; Use of advanced widgets: maps; App state: representation, accessing and updating; App communication mechanisms: services, publish and subscribe and intents; The Reactor pattern.
Intended learning outcomes
Knowledge &understand
Opening the student's perceptions to the modern programming method
The student should be familiar with the concept of mobile systems and related applications.
The student should mention the six main components on which most Android applications are built
The student understands the idea of background processing components working
mental skills
The student should analyze the Android environment and the way the gradle Android build system works in the process of building applications
The student should compare the main components used in the development of Android applications.
The student should explain the way the components that work in the background.
Practical & professional skills
The student should use all the modern technology used in the versions of the Android operating system.
The student should diagnose errors caused in applications using verification tools used in the Android Studio development environment.
The student should design some meaningful applications using the Android Studio development environment.
General and transferable skills
The student should be able to deal with applications developed using Android Studio.
The student should be able to search and prepare applications using Android Studio.
The student should be able to work in a team and develop the final model application using the Android Studio development environment.