It’s day 8 of the Android Avalanche: an event where we’ll be releasing new Android and Kotlin books, courses, and screencasts every day!
Today, we are releasing a brand new course: Android Networking.
In this 27-video course, Joe Howard will show you how to make calls to REST APIs and how to send and receive structured data. Through a series of hands-on exercises and challenges, you’ll learn some fundamental concepts of networking, how to use the Retrofit networking library, how to handle tasks like authentication, and more!
Take a look at what’s inside:
Part 1: Networking Basics
In part one, learn how fundamental concepts of networking like HTTP, requests, and responses work.
- Introduction: Find out what’s covered in our Android Networking video tutorial series: HTTP basics, HttpUrlConnection, and using the Retrofit library from Square.
- The Starter App: Download the starter app, build it in Android Studio, and review the existing app code. Review the use of ViewModel, LiveData, and the Repository pattern.
- HTTP Basics: Learn about basic concepts of HTTP requests, JSON, using REST APIs and consuming responses, and use the Postman REST client to investigate the GitHub API.
- Check Connectivity: See how to check for network connectivity from the starter app, and setup network state access permissions.
- HttpUrlConnection: Use the HttpUrlConnection class, along with an AsyncTask, to query the GitHub repos API for any GitHub user.
- Challenge: HttpUrlConnection: Practice what you’ve learned so far to query the GitHub API and retrieve a list of code gists for any GitHub user.
- Parsing JSON: Learn how to parse the structured HTTP data responses from a REST API using JSONObject and JSONArray.
- Challenge: Parsing JSON: Practice what you’ve learned about parsing JSON responses to parse the code gists JSON data for any GitHub user.
- Challenge: Profile: Practice all that you’ve learned about making HTTP connections and parsing JSON data to retrieve and display a GitHub user’s profile information.
- Conclusion: Let’s review what you’ve covered on networking basics in this first part of Android Networking, and then discuss what’s next.
Part 2: Getting Started with Retrofit
In the second part, learn to setup the Retrofit networking library.
- Introduction: We’ll review the various issues with making HTTP connections from Android, then see a preview of how the Retrofit library from Square can help.
- Setting up Retrofit: Learn about how to setup the Retrofit library and Gson parsing library as dependencies for your Android project.
- GET Requests: See how to make a basic GET request using Retrofit, and also see how to use the Android Profiler to monitor network requests.
- Challenge: GET Requests: Practice what you’ve learned about making GET requests with Retrofit to retrieve a GitHub user’s gists and profile.
- Parsing with Converters: Use the Gson parsing library from Google to automatically parse the response data from Retrofit requests into Kotlin instances.
- Challenge: Parsing with Converters: Practice what you’ve learned about Gson and Retrofit to show the user profile data obtained from GitHub.
- Logging Interceptor: Setup an HttpLoggingInterceptor for an OkHttp client and use the client with your Retrofit instance.
- Error Handling: See how to handle errors that occur when making API requests with Retrofit by creating an Either class that can represent both success and error.
- Challenge: Error Handling: Practice what you’ve learned about error handling to handle errors that occur when making requests for GitHub repos and gists.
- Conclusion: Let’s review what you’ve covered about getting started with Retrofit in this second part of Android Networking, and then discuss what’s next.
Part 3: More with Retrofit
In the last part, learn how to handle networking tasks like authentication and posts.
- Introduction: Survey other capabilities of the Retrofit library, and preview the network requests that will be seen in this part of the course.
- Authentication: Learn how to authenticate into a GitHub user’s account by retrieving an OAuth2 token from the GitHub API.
- POST Requests: Use an interceptor to add the OAuth2 token into requests made by Retrofit, and then make POST requests to add a new gist into the user’s GitHub account.
- Challenge: POST Requests: Practice what you’ve learned about making POST requests to send more data back when creating a new gist for the authenticated GitHub user.
- DELETE Requests: Learn how to make a DELETE request with Retrofit and then add the ability to delete gists for the authenticated GitHub user.
- Challenge: Retrofit: Practice all that you’ve learned about Retrofit to send an update request for profile data for the authenticated GitHub user.
- Conclusion: In this final episode, we’ll summarize both this last part and the whole course, and then see an overview of Android networking topics that were not covered.
The Android Avalanche Bundle
If you like this course, from now until March 30th you can get it along with the rest of our new Android and Kotlin books, courses, and screencasts — at a big discount!
Our new Android Avalanche Bundle includes:
- Android Apprentice ($54.99 value): Gives you access to our new Android Apprentice book, which teaches you how to build four complete Android apps from scratch. PDF/ePub format.
- Kotlin Apprentice ($54.99 value): Gives you access to our new Kotlin Apprentice book, which gives you a deep dive into the Kotlin programming language itself. PDF/ePub format.
- A raywenderlich.com subscription ($19.99 value): Gives you access to all 8 of our new Android video courses, our 2 new Android screencasts, and access to any new courses and screencasts we release in the future.
The bundle price of $99.99 includes the first month of your subscription, which will continue at $19.99/month thereafter. You can cancel at any time and keep the books. This bundle gives you more than 20% off everything in the Android Avalanche!
The Android Avalanche bundle is only available for the next two weeks, so be sure to order your copy while you can.