The Android Laboratory is a 32-hours module within the Course on Mobile Application Laboratory, for the undergraduate students of Computer Science and "Informatica per il Management", University of Bologna. The goal of this module is to introduce the basics of mobile applications development for Android-based terminals (e.g. smarphones and tablets). We do not aim at providing an exhaustive insight of the latest releases of the Android platforms. Instead, we aim at presenting the essential concepts of software deployments for mobile and battery-constrained devices, at introducing the main characteristics and components of the Android projects, and at providing the minimum know-how required to develop (from scratch) mobile applications for the Android architecture, at increasing levels of complexity.

The full description and material for the course is on the IOL course page, which we recommend to refer to. This page is only a support page.


The lectures on Android will be held by Dr. Federico Montori. Please contact him: federico.montori2[AT]unibo.it if you have any question about the module. The responsible of the course on Mobile Application Laboratory is Prof. Luciano Bononi., who runs a similar support page about the iOS module.

Program and Resources

Here is the (preliminary) program of the Android Module. In the first part of the module, we introduce the Android architecture, and we describe the core components of an Android application, i.e.: Activities, Resources, Intents, Widget and Events, Broadcast Receivers, Notifications. In the second part of the module, we show how to deploy more-sophisticated mobile applications that might -for instances- offer geo-localization functionalities (through Google Maps API), utilize network connectivity (through Bluetooth API), interact with sensors (through the Arduino platform), etc. Although the main focus is on Android-smartphones, we will provide some lectures on Android-programming for tablet devices. For each lecture, we provide the slides and some application examples.

  1. Introduction to the Course (Android Module) [PDF]
  2. Installing the Android SDK [PDF][CODE]
  3. The Android Architecture [PDF]
  4. The Android Resources System [PDF][CODE]
  5. Android Activities and Fragments [PDF][CODE][CODE][CODE]
  6. Android Intents [PDF][CODE][CODE][CODE]
  7. Android Layouts [PDF][CODE]
  8. Android Views and Events [PDF][CODE]
  9. Android Navigation [PDF][CODE][CODE]
  10. Android Services [PDF][CODE][CODE]
  11. Android Data Management [PDF][CODE][CODE][CODE][CODE]
  12. Android Geolocalization and Context Awareness [PDF][CODE][CODE]
  13. Android Network [PDF][CODE][CODE]
  14. Android System Services [PDF] [CODE]



In the following, we provide possible hints for the project for A.A.2019/2020, strongly enouraging the students in adding new features and additional customizations to the proposed applications. Questions that are specific to the projects have to be forwarded to the course tutor Dr. Luca Sciullo using the e-mail luca.sciullo[AT]unibo.it


Here is a list of Android related videos. With this videos, you can see how Android can cooperate and communicate with platforms such as Andruino and NFC tags.

Here is a list of related courses on the Android platforms held in other Italian universities, and also of on-line tutorials on Android software development: