Android App Development


Application Deadline

October 8, 2017
The course starts on October 9, 2017


Two groups from Monday to Thursday Group 1 – 12:00 – 15:00* & Group 2 – 16:00 – 19:00* in a total of 96 hours
About this training

This training course is part of Enhancing Entrepreneurship & Employability of Youth in Kosovo project, supported by GIZ (Deutsche Gesellschaft für Internationale Zusammenarbeit).


The course will help students to develop mobile applications based on the Android operating system. This course takes you through the basics and moves on to advanced concepts in Android app development. You will use a software emulator to develop, and a real phone, to demonstrate the application. The focus is on computer science and engineering aspects to develop, debug, and test, and obtain performance metrics to compare and contrast implementations.

This four-day course will acquire the necessary skillsets and experience for professional Android application development. It delivers an extensive training on the main Android SDK components and its interactions. The course includes topics compatible with all Android versions up to Android 6 and the source code updated to API 23.


Course Prerequisites

To achieve the best learning experience and a quick start with this course, a trainee is required to have adequate knowledge of the content of Java Fundamentals for Android Development course. Previous knowledge and experience of any object oriented programming language is considered sufficient.

Students will be able to:

- Design and build a complete Android application.

- Debug and maintain Android applications using different tools and plugins.

- Thoroughly understand the life-cycle of an Android application and its main components.

- Use external resources, manifest files, intents and adapters

- Understand and use all Android persistent storage techniques: Preferences, files, databases, and content providers.

- Use Android’s background processing techniques.

- Build location-aware applications using GPS as a location provider and Google  Maps.


Course Description

Android app development Course Outline -70 - Hours.

1.Introducing the Android Platform

- Establishing the development environment.

- Analyzing components of the architecture.

2.Leveraging Application Fundamentals

- Building mobile applications.

- Creating activities to process user input.

- Implementing views to build the User Interface (UI).

- Packaging applications for deployment.

- Developing unit tests.

- Supporting asynchronous behavior.

- Performing background tasks with services

- Communicating with intents..

3.Creating User Interfaces

- Selecting visual components.

- Building the layout.

- Connecting a view to an activity.

- Positioning form elements.

- Working with resource declarations.

- Declaring component definitions and layouts.

- Handling multiple screen resolutions.

- Localizing applications.

4.Processing User Input

- Communicating with the user.

- Creating and displaying Toast.

- Generating status bar notifications.

- Logging key application events.

- Interacting with the UI.

- Responding to user input events.

- Launching activities with intents.

- Writing Java event handlers.

- Generating context and option menus.

- Managing the activity life cycle.

- Integrating with the Android system.

- Persisting data in response to notifications.


5.Persisting Application Data

- Selecting storage options.

- Contrasting internal and external storage locations.

- Saving application configuration with Shared Preferences.

- Manipulating the SQLite database.

- Executing queries to locate information.

- Specifying column selections with projections.

- Consuming and creating content providers.

- Accessing shared data resources.

- Addressing content providers with URIs.


6.Maintaining System Responsiveness

- Avoiding Application Not Responding (ANR) errors.

- Unloading the UI thread.

- Designing for asynchronous execution.

- Building background services.

- Launching Intent Services.

- Declaring services in the manifest.

7.Exchanging Data over the Internet

- Interacting with server-side applications.

- Synchronizing Android devices with servers.

- Communicating via HTTP clients.

- Developing clients for web services.

- Connecting to RESTful services.

- Creating and parsing JSON.

8.Enhancing the User Experience

- Incorporating the Action Bar.

- Manipulating objects with drag and drop.

- Supporting orientation and multiple screen resolutions with resources.

- Combining fragments into a multi-pane UI.

- Leveraging geolocation and mapping capabilities.

- Plotting positions on Google Maps.

- Establishing location through GPS, Cell-ID and Wi-Fi.


9.Publishing Android Applications

- Preparing for Publishing.

- Deploying APK Files.


Course Outline practical hours - 25 Hours

* Working Project

* Create project

* Presentation Project


Certificate of Attendance / Completion


Minimum criteria:

1. Course attendance – 50%.

2. Home work assignments - 50% / final project - 50%

Fesal Baxhaku | Instructor

Fesal Baxhaku is a Ph.D candidate at the University of Sheffield, Department of Computer Science. He works as a lecturer at the faculty of Computer Science in the University of Prizren and trainer in Abacus Group. Previous experience includes: Teaching assistant at Faculty of Maths and Natural sciences at the University of Pristina and has several years of experience as a software developer at local companies. Time to time he is involved in individual commercial applications as a freelancer.