460-2025/03 – Design of Applications for Mobile Devices II (TAMZ II)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | Mgr. Ing. Michal Krumnikl, Ph.D. | Subject version guarantor | Mgr. Ing. Michal Krumnikl, Ph.D. |
Study level | undergraduate or graduate | Requirement | Compulsory |
Year | 3 | Semester | winter |
| | Study language | Czech |
Year of introduction | 2019/2020 | Year of cancellation | |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
The course is focused at advanced programming techniques for mobile devices, especially mobile phones running OS Android. After the successful completion of the course students should be able to:
- Identify the application domain of mobile devices.
- Describe methods and processes used in application development.
- Distinguish the main differences between Android platforms.
- Outline fundamental conceptions used in the area of multimedia, network and synchronization application.
- Modify desktop application and adapt it for mobile devices.
Teaching methods
Lectures
Tutorials
Other activities
Summary
This course is the continuation of "Design of Applications for Mobile Devices I". It is aimed at advanced programming techniques focused on exploiting the potential of mobile devices. Topics covered during the course are : multimedia, network applications, games and other applications using synchronization.
Compulsory literature:
Recommended literature:
Additional study materials
Way of continuous check of knowledge in the course of semester
Minimal requirements to pass is to get at least 23 points from 45 points total (implementation of Android application).
E-learning
Other requirements
Basic knowledge of object oriented programming and JAVA language.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures:
* OS Android Architecture, Dalvik VM, ART, Development Tools.
* Applications, Actions, Intents and Android Manifest.
* UI development, View, Layout, Fragment, Menu.
* Data storage, Shared Preferences, Internal/External Storage, SQLite.
* Network connection, Sockets and Data Parsing, JSON.
* Security, Encryption, Application Signing, Java Cryptography Architecture.
* Asynchronous events, Multitasking, Threads and Synchronization.
* Graphics and Game Design, Game Loop, Game Libraries.
* Multimedia Applications - Audio, Video, Playback and Record, Processing Image and Audio Data.
* 2D and 3D Acceleration, OpenGL ES.
* NFC (Near field communication), Mobile Sensors.
* Reverse Engineering and Protection, Code Obfuscation, Optimizations.
* 3rd Party Libraries.
* Google Play, Finance Models for Selling Mobile Applications.
Practical Labs:
* Introduction to Development Tools. Creation of Simple Application and Deployment on Mobile Phone or Emulator.
* Basic Application's Components. Activities, Passing Data, Intents.
* Custom View, Drawing Content, Event Processing.
* Parsing XML Files. Using ListView for Displaying Content.
* Network Connection, Downloading Content, Offline Mode.
* Implementation of Simple Game, Drawing on Canvas.
* File and Socket Input/Output. Loading and Saving Structured Data.
* Remote Procedure Call, Network Services.
* SQLite Database and its Usage.
* Rendering 3D Graphics, Simple Physics, OpenGL ES.
* Threads and Synchronization.
* Processing Sound and Image Data, Simple Analyses.
* Usage of 3rd Party Libraries.
* Examples of Code Obfuscation, Tools for Reverse Engineering.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction