Skip to Content
View all events

Android Development Bootcamp

Published by O'Reilly Media, Inc.

Beginner to intermediate content levelBeginner to intermediate

Learn the fundamentals for creating mobile applications—from Kotlin to the Android SDK

This live event utilizes interactive environments

In this course you’ll:

  • Create Android applications using the Android Studio IDE
  • Save data in files and the included SQLite database
  • Use asynchronous tasks for multithreaded processing

Course description:

There are currently over two billion Android devices in the world, ranging from phones to tablets to wearables to automotive apps. Each of them supports development using the open source Android operating system.

Join expert Ken Kousen to get hands-on with the fundamentals of Android development using the latest available tools and techniques and you’ll explore activities, intents, view layer widgets and fragments, networking, services, and more. You’ll get overviews of Kotlin—the preferred programming language for Android development—and the Gradle build system as it applies to Android. Best of all, you’ll create an app using the free Android IDE development environment, Android Studio, and learn how to publish it.

NOTE: With today’s registration, you’ll be signed up for all three sessions. Although you can attend any of the sessions individually, we recommend participating in all three sessions.

What you’ll learn and how you can apply it

  • Create activities and intents
  • Explore persistence options
  • Understand basic libraries in common use
  • Access RESTful web services over the net
  • Process JSON data
  • Work with preferences

This live event is for you because...

  • You’re a Java developer who is interested in writing Android apps and learning Kotlin.
  • You’re a team member or leader who supports Android applications.
  • You’re curious about the issues, costs, and benefits of mobile application development.

Prerequisites

  • A computer with Java 8 Standard Edition (or higher) installed
  • Download current release of Android Studio
  • Install Gradle Build Tool (as provided by Android Studio)
  • Intermediate-level knowledge of Java programming
  • Some familiarity with web applications and RESTful services

Recommended preparation:

Recommended follow-up:

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Installing and running Kotlin (30 minutes)

  • Presentation and discussion: Installation options; cloning the sample repository; compiling and executing Kotlin programs; using the Gradle build tool; IDE support
  • Hands-on exercise
  • Q&A

Kotlin basics (60 minutes)

  • Presentation and discussion: Deciding between var and val types; declaring variables to be nullable; defining top-level functions; defining classes and interfaces; creating object singletons; reference equality and object equivalence
  • Hands-on exercise
  • Q&A
  • Break

Collections and arrays (30 minutes)

  • Presentation and discussion: Mutable and immutable collections; creating arrays; common collection methods; read-only collections; grouping and associating values
  • Hands-on exercise
  • Q&A

Functional concepts (45 minutes)

  • Presentation and discussion: Lambda expressions; function references; mapping and filtering; reduction operations; sequences and lazy evaluation
  • Hands-on exercise
  • Q&A
  • Break

Data classes (30 minutes)

  • Presentation and discussion: Defining data classes; generated methods; the copy() function; accessing components
  • Hands-on exercise
  • Q&A

Interacting with Java (25 minutes)

  • Presentation and discussion: Decompiling Kotlin bytecodes; companion objects and static; primitive types and wrapper classes; working with platform types; generating function overloads; changing generated class names
  • Hands-on exercise
  • Q&A

Extension functions and delegates (15 minutes)

  • Presentation and discussion: Extension functions on existing classes; extension libraries used by Android; property and other delegates
  • Hands-on exercise
  • Q&A

Wrap-up & Q&A (5 minutes)

Day 2

Introducing Android (40 minutes)

  • Presentation and discussion: Android versions and capabilities; Android Studio IDE; the SDK Manager; creating an emulator
  • Hands-on exercise
  • Q&A

A simple application (40 minutes)

  • Presentation and discussion: Extending the Activity and AppCompatActivity classes; the future—Jetpack Compose; the present—creating an XML layout; accessing widgets; implementing listeners; updating the user interface
  • Hands-on exercise
  • Q&A
  • Break

The manifest and Gradle build files (40 minutes)

  • Presentation and discussion: Multiproject Gradle builds; top-level and application level Gradle build files; the Android plugin for Gradle; repositories and dependencies; the AndroidManifest.xml file
  • Hands-on exercise
  • Q&A

The activity lifecycle (40 minutes)

  • Presentation and discussion: Logging events; the activity callback methods; back button, going home, and aspect changes; preserving data using saved instance state
  • Hands-on exercise
  • Q&A
  • Break

Explicit intents (40 minutes)

  • Presentation and discussion: Moving from one activity to another; creating explicit intents; passing data through intents; retrieving data
  • Hands-on exercise
  • Q&A

Resources (40 minutes)

  • Presentation and discussion: Resource folders; strings, colors, and layouts; styles; other resources
  • Hands-on exercise
  • Q&A

Day 3

Fragments (30 minutes)

  • Presentation and discussion: Creating fragments; implementing interfaces; adding fragments to activities; fragment lifecycle; the back stack
  • Hands-on exercise
  • Q&A

Menus and the action bar (25 minutes)

  • Presentation and discussion: Menu XML files; adding items; using the action bar; reacting to menu selections
  • Hands-on exercise
  • Q&A
  • Break

Implicit intents (20 minutes)

  • Presentation and discussion: Built-in intents; adding intents to the manifest; registering for intents; intent filters
  • Hands-on exercise
  • Q&A

Moving to Jetpack components (35 minutes)

  • Presentation and discussion: Guide to app architecture; view binding and data binding; ViewModel; LiveData and StateFlow
  • Hands-on exercise
  • Q&A
  • Break

Persistence using Room (30 minutes)

  • Presentation and discussion: The SQLite database; the Room component; entities and DAO classes; asynchronous DB operations
  • Hands-on exercise
  • Q&A

Accessing the internet (25 minutes)

  • Presentation and discussion: Suspend functions and coroutines; the Retrofit library; coroutine scopes; updating views with the ViewModel
  • Hands-on exercise
  • Q&A
  • Break

Testing (20 minutes)

  • Presentation and discussion: Testing non-Android parts of an app; instrumentation tests; end-to-end tests with Espresso
  • Hands-on exercise
  • Q&A

Introduction to Jetpack Compose (30 minutes)

  • Presentation and discussion: Defining composables; managing state; basic layouts; navigation
  • Hands-on exercise
  • Q&A

Publishing your application (25 minutes)

  • Presentation and discussion: Signing your app; registering with Google Play; generating release APKs; uploading and customizing your app
  • Hands-on exercise
  • Q&A

Your Instructor

  • Ken Kousen

    Ken Kousen is the author of the Kotlin Cookbook (O'Reilly), Modern Java Recipes (O'Reilly), Gradle Recipes for Android (O’Reilly), and Making Java Groovy (Manning), as well as O’Reilly video courses in Android, Groovy, Gradle, advanced Java, and Spring. A JavaOne Rock Star, he’s a regular speaker on the No Fluff Just Stuff conference tour and has spoken at conferences all over the world. Through his company, Kousen I.T., Inc., he’s taught software development training courses to thousands of students.

    linkedinXlinksearch

Skill covered

Native Android Development