This course is an introduction to the world of mobile information systems and mobile applications development with a focus on business applications such as mobile commerce, marketing, banking and on ubiquitous computing such as context awareness, ambient intelligence and mobile learning. Hence, the outcome is two folds: learning how to develop quality mobile applications and learning how to propose the right design, technology and platform for a specific business application domain.
The first part requires learning about the various and mostly used mobile platforms and devices; the specificities of mobile computing in terms of reduced performance and intermittent connectivity; the different development approaches (Native, Web-based and Hybrid) and about matching the right mobile solutions for specific application domains. On the other hand, the students will learn, from a business point of view, about the potential of mobile applications in leveraging new services, targeting new and wider customers’ markets and how this influences the design and development cycles of mobile apps.
The second course builds on top of the first one, where the students are initiated to basic mobile development for the Android platform, namely hands-on the Android Studio, Android projects creation, running and debugging, basic GUI (with adaptation to various locals, screen sizes and resolutions), basic business logic and storing user settings using shared preferences.
The course covers more advanced topics such as creating list view with a data adapter, data request from remote web services, the use of asynchronous tasks for multi-threading with GUI update, view recycler, more on fragments, shared preferences, SQLite, content providers and loaders.