Upcoming and OnDemand Webinars View full list

Advanced Android

Get ready to level-up your Android knowledge in this 5-day course. Learn best practices and libraries that will help developers get their apps ready to release.

  • 09 November
    5 days, 09:00 AM - 06:00 PM
    • Early Registration $3,990.00 excl.
    • $4,200.00 excl.
    Register11 places remaining


Go beyond the fundamentals in our five-day Advanced Android course for experienced Android developers. You’ll learn how to prep your app for app store submission as well as the techniques that make your code stand out from the crowd. We’ll also teach you how to maintain your app and improve its performance.

Bootcamp Price: $4200

Bootcamp price includes hotel, meals, and a shuttle to and from the hotel.

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

How to prepare:

  • Download and install the latest Android Studio.

  • Download and install JDK 8. Once installed, configure Android studio to use the new JDK.

  • Install an Android Emulator that has Google Play Services, so you will be able to use the GCM.


Advanced Networking

  • Explore the Retrofit library and learn how it can reduce the network boilerplate in your applications.

  • Learn how to authorize your application with a back-end server and make authenticated requests using OAuth.

  • Implement common patterns to deal with network exceptions and background threading.

  • Test your networking code using both unit and integration tests for a full test suite.

Model Architecture

  • Configure your application for dependency injection using Dagger 2 so your application components can get the dependencies they need without unnecessary coupling.

  • Explore the usage of functional-reactive programming with RxJava and RxAndroid.

  • Add Data Binding to your application to help implement the Model-View-ViewModel architecture pattern.

  • Reap the benefits of dependency injection by easily testing your model layer objects.

Sync Adapters

  • Add an Authenticator to your application so you can save account data on the device.

  • Implement a Content Provider to save data to your application database.

  • Sync data asynchronously from a web server using a Sync Adapter.

  • Learn how to respond to push notifications from Firebase Cloud Messaging to optimize your data syncing.

Android Views

  • Implement a Navigation Drawer to see how to effectively provide a consistent navigation option to users.

  • Create a fully custom list item view to gain as much performance as possible from your UI.

  • Apply a notification style to change how your data is displayed to the user depending on the type of data.

  • Test the UI of your application by using the Espresso framework to write your integration tests.

Performance Testing

  • Utilize the built in testing tools to identify view performance issues that can lead to dropped frames and suboptimal user experience.

  • Identify memory leaks in your application as well as conditions that can lead to high battery drain and unhappy users.

Creating Builds

  • Configure your application to produce different build flavors and identify how these can be used.

  • Prepare your application for release in the Play store by configuring your application, signing it, and learning about the release process.

What you'll learn:

  • Improve your networking code with a popular library and common patterns for error handling and threading.

  • Streamline your model layer using dependency injection and functional-reactive programming principles with RxJava.

  • Optimize the performance of your data syncing with Sync Adapters and Firebase Cloud Messaging.

  • Improve your user experience with common UI patterns for navigation and notifications.

  • Test different layers of your application using popular libraries to give you the confidence to refactor and add new code.

  • Discover performance issues in your application that can lead to dropped frames and poor battery usage.

Who should take this class?

  • Developers who know the fundamentals of Android development and want to learn the most common libraries and tools used to make professional applications.
  • Developers who want to learn how to test various parts of applications, leading to more confidence when adding new features or refactoring current functionality.
  • This course is designed for developers with at least 1 year of Android programming experience. Students should be familiar with the basics of Android development, including creating new projects, using Activities and Fragments, implementing a layout, using a Service and making network requests.

Not Happy with Your Current App, or Digital Product?

Submit your event

Let's Discuss Your Project

Let's Discuss Your Project