About the course
Our Android development with Kotlin training course provides an introduction to the Android Studio development environment, and how to code and execute Android applications both on physical devices and on Android Virtual Devices (AVDs). You will also explore Android Platform APIs and architecture, application elements, UIs and layouts and testing environment.
This 3-day Android with Kotlin course can be combined with the Intro to Kotlin training course for a comprehensive dive into the world of developing Kotlin apps for Android, for developers who are completely new to both technologies.
Online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Understand Android Architecture: Grasp the core components of the Android operating system and application framework.
- Set Up the Development Environment: Confidently install and configure Android Studio and its associated tools for effective app development.
- Develop Foundational Android Apps: Create and run basic Android applications, managing project structure, layouts, and resources.
- Manage Android Activities & Lifecycle: Implement Activities and effectively manage their lifecycle, states, and process interactions.
- Design Responsive User Interfaces: Construct engaging Android user interfaces using various View components, Layouts, and handling UI events.
- Enable App Component Communication: Utilise Intents to facilitate explicit and implicit communication between Android application components.
- Implement Background Operations: Develop and manage different types of Android Services for background processing and long-running tasks.
- Control App Data & Notifications: Implement Content Providers for data sharing and integrate Notifications for effective user communication.
- Build & Test Android Applications: Manage Android project builds with Gradle and apply JUnit and Espresso frameworks for robust app testing.
- Integrate Location & Hardware Features: Incorporate Location APIs, Google Maps, and interact with other device hardware capabilities.
-
This course is aimed at software developers looking to extend existing skills in Kotlin to develop commercial Android apps.
-
Delegates should have attended our Intro to Kotlin course or have equivalent Kotlin coding experience.
-
This Android development course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Android Overview
What is Android?
Android Devices and Simulators
Android Programming Languages
Android Versions
Android Software Stack
Applications run on Android OS
Application Core Building Blocks
(activities, services, intents, Content Providers, Broadcast Receivers)
Security and Permissions
Introduction to Android Applications
Android Studio Introduction
Android Hello World Application
Android source files
Layout Definition file
Value Resources
Android Manifest File
Introduction to Gradle and Project Gradle files
Running the Application
Android Debug Bridge
Packaging an Application
Android Studio Modules
Lab: Android Hello World Tutorial
Activities
Application Core Building Blocks Review
Activities
Activity Lifecycle & Activity States
Activity Lifecycle Methods
Using Logcat
Saving / Restoring Dynamic State
Activity Lifetimes
Lifecycle Aware Components
Activity Stack
Processes and Activities
Process States & Process Termination
Activities and Tasks
Activity to Fragment Relationship
Lab: Extending Hello World app with lifecycle aware components
Views and layouts Overview
UI Components
Views
View Hierarchy
Layouts
Containers
Creating displays using Android Studio, XML and programmatically
Interacting with the App
UI Events
Alerts, Toast and Alert Dialogs
Gestures
Lab: Number Guessing Game App
Intents
Intents
Explicit Intents
Implicit Intents
Intents Demo App
Returning Data from launched sub-activity
Creating a custom sub-activity
Intent filters
Lab: intents
Services
Service Introduction
When to use Services
Service Lifecycles
Working with a Service
SampleService class
A Started Service Example
Bound Service
Intent Service
Lab: Adding an intent Service to the number Guessing Game
Notifications and Broadcast Receivers
What are notifications
Working with notifications
Creating and Issuing a Notification
Notifications Example
Broadcasts
How Apps send Broadcast messages
Broadcast Architecture
Broadcast Receivers
Broadcast Example
Lab: Notification to display guessing game success message
Android Build with Gradle
Building an Android App
Gradle
Gradle Usage
Gradle Files in Android Project
Gradle Dependency Management
Gradle Build Types
Gradle Flavors
Gradle Tasks
The Gradle Wrapper
Android App Signing
Content Providers
Content Providers Introduction
Implementing a Content Provider
Database Helper class
Creating a Content Provider
Accessing a Content provider
Content Resolver
Loaders
Lab: Introducing Content Providers
Android Unit Testing
JUnit Test Framework
JUnit Annotations
JUnit Fixtures
JUnit One-Time Fixtures
JUnit Assertions
JUnit Additional Test Support
Example JUnit Test
Android Test Framework Options
Espresso Test Framework for Android
Espresso Test Example
Extended tests & mocking
JUnit and Espresso Module Dependencies
Lab: Writing Tests for Android Apps
Location APIs
Google Maps Location API Introduction
Setting up an Android Studio Location App
Review of Basic Maps Activity
Google Maps API Key
Location Client
User Permissions
Current Location
Markers
Map Types
Geocoding
Receiving Location Updates
Lab: Creating a Location App
-
https://kotlinlang.org/ - get started with Kotlin
https://kotlinlang.org/docs/kotlin-ide.html - selection of IDEs for developing with Kotlin
https://blog.jetbrains.com/kotlin/ - official Kotlin blog from JetBrains
Trusted by



