Course in Android Mobile Apps Devevelopment

Practical course in Android Mobile Apps Devevelopment

Android is the fastes growing mobile native platform. There are many reasons. Partly, because it is a fun and productive platform, but also because it is easy to develop organizational in-house apps. That is one reason why Android is ranked as the next large software consultancy business area.

This course provides you with a broad overview and all knowledge you need to have to become productive within an Android project direct after the course. We achieve this by basing the course around a large set of complete apps. Every app demostrates a specific topic, but also contains several supplementary properties to make the app fully functioning.

We start each chapter by presenting the theory, what you need to know and how acquire more information. Then do we a walk-through of the app's source code that illustrates the theory. Finally, you get the source code yourself, but in pieces which you have to assemble together. In most cases you also supposed to add some additional feature. With this course setup we can cover a much broader set of topics compared with other Android courses.

This is what you will learn
  • Android UI/UX design
  • How to build an app that accepts speech input
  • How to generate text-to-speech
  • How to detect shake motions and associate an event to it
  • How to create simple animations of UI components
  • How to record audio
  • How to play audio
  • How to read and write to the Android file system
  • How to handle user data with the builtin SQLite data base
  • How to interact with internet services
Course Contents

Background and Overview

  • What is Android, the OS and platform
  • Android devices
  • Android architecture
  • Android app markets

Setting up the Dev. Environment

  • Prerequisites
  • Using the correct Java version
  • Installing and configuring Android SDK
  • Installing and using Android Studio
  • Creating an AVD and using the emulator
  • Using Genymotion as a better emulator
  • Connecting a real device via ADB
  • Using ADB over Wi-Fi (instead of USB)

Basic App Development

  • Android components
  • Understanding activities
  • Life-cycle methods
  • Calling another activity
  • Getting result from another activity
  • Logging, your tool for understanding what's happening inside an app
  • Compilation and packaging of an app
  • Deployment of an app to a device
  • Running an app and inspecting log printouts

Basic UI Design

  • Understanding XML layouts
  • Understanding resources, such as images
  • The dynamic class R
  • Layout strategies
  • How to design using the most common layout containers
  • Basic UI events, such as clicks
  • Styles and themes
  • Configuration of text-views and buttons
  • String resources and i18n
  • Toasts

Basic Interaction Design

  • Overview of event types and how to handle them
  • Understanding Intents
  • Input fields
  • Action bars
  • Sliders
  • Alert dialogs

Asynchronous Computation

  • What is the UI thread and do I need to understand it
  • Rules for ANR (Application Not Responding) events
  • Calling RunOnUIThread()
  • Understanding and using AsyncThread
  • Typical use cases

File Persistence

  • Storing and reading preferences
  • UI design for preference activities
  • Storing and reading files
  • Internal and external files

DB Persistence

  • Introduction to SQLite
  • The SQLiteHelper class
  • SQL oriented methods
  • SQL generating methods

HTTP Communication

  • Constraints and permissions
  • HttpURLConnection vs. HTTP-Client
  • Getting data with HTTP GET
  • Sending data with HTTP POST
  • Understanding REST web services
  • Parsing and generating XML
  • Parsing and generating JSON


  • Understanding list views and adapters
  • Populating list views asynchronously
  • List item design
  • Custom adapters

More UI Components

  • Using and configuring WebView
  • Fragments
  • Tabbed panes

The Gradle Build System for Android

  • What is Gradle
  • What is Groovy
  • The Android build process
  • Build configuration

App Publication

  • What is a production build
  • What is an APK file
  • Manifest requirements
  • Asset requirements
  • What is X.509 certificates adn how to create it
  • How to sign an APK file
  • The steps to Google Play
  • Setting up a developer account
  • Preparing an app for publication
  • Publishing an app having a price (paid apps)
Name Android Mobile Apps Devevelopment
Duration4 Days
Audience Java programmers
PrerequisitesExperienced in Java programming
  • Android unit, with its USB cable
  • Android Studio
  • Android SDK
  • Java JDK
Course Dates
DatePlace Price
2020-02-10Stockholm 24 000 kr
2020-03-02 Stockholm24 000 kr
2020-03-23 Stockholm24 000 kr
2020-04-06 Stockholm24 000 kr
2020-05-04 Stockholm24 000 kr
2020-06-01 Stockholm24 000 kr

Same-Company Discout

We offer a 20% discount for additional participants from the same company and at the same course date. Read more here.

Teaching Language

Our printed course material is always authored in English. The oral presentation in our classrooms is generally in Swedish, unless all participants agree to that we perform the course in English.

On-Site Course

If you order an On-Site course, we will come to you and hold the course in your office. The price is determined by our price model and is based on the number of course days, number of participants and any travel and lodging.

Read more about out price modell and term of sales here.

Related Courses
Java Basics5 Beginner Show
Gradle2Beginner Show