Advanced Android

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.

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.