Android Networking: Fundamentals

Sep 6 2022 · Kotlin 1.6, Android 12, Android Studio Chipmunk | 2021.2.1 Patch 1

Part 1: Learn About HTTP & Threading

01. Introduction

Episode complete

Play next episode

About this episode
Leave a rating/review
See forum comments
Cinema mode Mark complete Download course materials
Next episode: 02. Set Up the Project

Notes: 01. Introduction

This course was originally recorded in 2020. It has been reviewed and all content and materials updated as of July 2022.

The student materials have been updated to use viewBinding. The recording used Kotlin synthetics which has now been deprecated. So to access views, you’ll see binding.viewId instead of just viewId in the code.

Kotlin Coroutines: Fundamentals course.

Transcript: 01. Introduction

Hello everyone, I’m Emmanuel and welcome to the Android Networking: Fundamentals course.

Networking is an essential part of Android developnment as you’ll need your apps to communicate with a backend server to make your app more dynamic.

Now, the original course was produced in 2020 but the concepts covered here are still the same with the present times. I’ve gone through this course to make sure everything is working fine.

I’ve updated the dependecies and the project now uses viewBinding to access the views. You wont be adding the code to access the views as the sample project already has them in place. For more information, make sure to read the author note of this episode.

That’s it from here. Over to you Filip.

Hey there! My name is Filip, and welcome to the Android Networking: Fundamentals course. In the majority of today’s applications, data is fetched and displayed from a remote data source - from an external server. Thinking back to the projects I’ve worked on in the past several years, every one of them had a networking component.

This is exactly the reason why, in this course, you’ll learn how to work with an external server, by exploring HTTP and streams of data, REST and its methods and rules, and how data is formatted in JSON strutures.

You’ll do all this, by working on a Note taking app called Taskie, which allows you to register, log in, create tasks or notes, and complete or delete them.

HTTP, as you may know, stands for Hypertext Transfer Protocol. It holds rules the web uses, to communicate and transfer data.

To communicate through HTTP, services follow one of several standards of communication. One of the most used standards is REST. The Representational state transfer.

REST defines several methods of communication, four main which are - GET, POST, PUT & DELETE. Each method has a specific use case, just like their names hint. GET is used to receive some data. POST to send data, PUT to update data at a location, and DELETE to remove data.

But when you transfer data, you need to format it in some way, and one of the formats today’s services use is JSON. JSON stands for JavaScript Object Notation. It’s what the name says, a notation or convention in which every object in JavaScript is formatted. You’ll use this format to send and receive data when working with a remote server.

To translate your Kotlin objects to JSON, and from JSON to Kotlin objects, you’ll use parsers. A parser is a translator between two formats of data. You’ll use multiple different parsers, and compare them all by their features and performance!

In later parts of this course, you’ll learn about advanced ways of communication using REST, through Retrofit, and Kotlin Coroutines.

These two concepts are so commonplace in Android these days, and it’s as vital of you to understand what the basic, native methods of communication are, as well as to understand why it has come to these new, modern frameworks and libraries.

There is quite a lot to cover here! Through the course, we’ll use common terms in asynchronous programming, so if you haven’t already, please check out our: Kotlin Coroutines: Fundamentals course.

It will give you a good understanding of a lot of concepts, and it’ll make this course much easier as you go.

Once you’re ready to continue with this course move to the next episode, where you’ll explore the sample project! :]