Check out our Bootcamp Schedule View Schedule

Android and Kotlin Essentials

Want to write Android applications? New to Kotlin and Android development? This course is just what you need.

Description

This 6.5 day course introduces students to developing applications for Android using the Kotlin programming language. Students will first learn the Kotlin programming language during a 2-day intensive study. Then students spend 4.5 days learning the fundamental building blocks of Android, as well as common patterns and conventions to help propel their Android development skills forward.

Bootcamp Price: $5200

In the Atlanta area? Interested in commuting to class? Contact training@bignerdranch.com to discuss commuting options and discounts.

Who should take this class?

  • Developers who are looking to build Android applications and are new to the Kotlin programming language.

  • Students in this class should already be familiar with basic programming concepts but do not need to have Kotlin experience.  

What you'll learn:

  • Fundamentals of Kotlin, including type system and nullable types, arrays and collections, control flow, and functional programming techniques.

  • How to represent complex data structures with objects, inheritance, and extensions in Kotlin.

  • Java and Kotlin interoperability, including how to port your existing Android application from Java to Kotlin

  • Construct Android applications using Activities and Fragments.

  • Communicate with other applications.

  • Understand Android’s threading model and access the web.

  • Create custom views and handle raw touch events.

  • Safely perform background tasks even after the user has left your app.

How to prepare:

  • Install the latest version of the JDK.

  • Install IntelliJ Community Edition (for the Kotlin portion of the course).

  • Install Android Studio.

    • Once installed, start Android Studio and follow the additional installation instructions. Once you have installed all of the software and SDK components, make sure that you can create and run a new application on an emulator or on a device.

Syllabus:

KOTLIN PROGRAMMING

  • Understand writable & read-only properties, take a look at Kotlin’s type system, and learn about nullable and non-nullable types.

  • Learn about the standard functions included with Kotlin's standard library: let, apply, also, takeIf, and run

  • Take a closer look at collections, including destructuring, type checking, smart casting, and type parameter constraints

  • Use the function type to define functions that accept other functions, and learn how to optimize them by using the inlining feature of the Kotlin compiler

  • Use the functional programming features of Kotlin to clean up code, including map, flatMap, filter, and reduce, as well as how to define your own functional operators and higher order functions.

 

OBJECTS, INHERITANCE, AND EXTENSIONS

  • Work with object-oriented programming concepts

  • Learn about primary and secondary constructors, equality, and preconditions for object construction

  • Learn how to use data classes and enums to represent data and algebraic data types

  • Override classes, and define abstract, open or closed classes

  • Use Kotlin's built-in singleton implementation

  • Understand extension functions to safely add behavior to classes you don't control.

ADVANCED KOTLIN

  • Learn how to interoperate with Java classes and supports Java compatibility.

  • Explore Kotlin’s platform independence

  • Use coroutines to spin up lightweight threads for doing work in the background

  • Use extensions with receivers to define a domain-specific language

 

ANDROID FOUNDATIONS

  • Understand what an Activity is and how they are used to construct Android apps.

  • Master the activity lifecycle to elegantly respond to device changes.

  • Use the debugger to find and fix bugs.

  • Safely communicate across Activities.

  • Explore the differences between versions of Android and use new features while maintaining compatibility with older versions.

 

FULL-FEATURED ANDROID

  • Use Fragments to create reusable components and to respond elegantly to different types of devices.

  • Display lists of items performantly with the RecyclerView API.

  • Peek behind the scenes at Android’s layout system and understand how to use layout tools such as ConstraintLayout.

  • Use Fragments with a ViewPager to swipe between screens in an application.

  • Customize a dialog to present modal content to the user.

  • Add navigation and menu options to the Toolbar.

 

BEYOND THE BASICS

  • Use a SQLite database to performantly store application data.

  • Seamlessly communicate with other applications using Android’s intent system.

  • Respond to device types to create an app that is optimized for both phones and tablets.

  • Increase the potential user base of an app by supporting multiple languages and improving the accessibility.

  • Explore the MVVM architecture, DataBinding, and unit testing to improve the quality of your code.

  • Focus on the design of an application using Android’s styles and themes APIs. Construct XML Drawables to further customize how users see an app.

 

CONNECTING TO THE WEB

  • Download, parse, and present data from a web service. Learn how to properly create and manage threads on Android.

  • Master the main thread on Android. Understand how to communicate between threads to present data to the user.

  • Learn more about the Toolbar on Android and how to add custom views.

  • Perform background work safely in your application.

  • Receive and respond to system events.

  • Display content from a web site in your application.

 

ADDING SOME FUN

  • Learn how to create your own custom views when the default widgets just won’t do.

  • Receive and respond to raw touch events.

EVENT DATES AND LOCATIONS


Not Happy with Your Current App, or Digital Product?

Submit your event

Let's Discuss Your Project

Let's Discuss Your Project