Hello, and welcome to this course on working with data in Android. As an aspiring developer, you will need to be able to demonstrate a working knowledge of how Android applications communicate over the web. This course will help you advance your app development skills by introducing you to Android asynchronous programming techniques. You'll also get to experience concepts and practices of the industry standard, Structured Query Language or SQL, as you explore storing app data using a product called SQLite. A primary driver of app adoption, is the ready availability of timely information. Perfectly functional apps will lose your interests if you cannot depend on them to instantly provide you with the data you need, when you need it. Your data requirement might be very specific, so just how close your taxi is or when your food order will arrive. Or might be more global, such as when you want to hear about current world events or to research the best deals for a new mobile device. To satisfy the user's data requirements in your apps, it's vital to understand how Android apps can store and access files not only on the device's storage, but also from external online sources. In this working with data in Android course, you will expand your programming knowledge so that you can engineer better solutions when your Android applications communicate over the web. To do data development work with Android, you should have an advanced working knowledge of programming fundamentals, be familiar with the concepts of UX and UI design and be able to create user interfaces in Android Studio. To assist with your learning, you will view and work on development tasks for the fictitious restaurant Little Lemon, where you will encounter many real-world scenarios. With your newly upscaled Android knowledge, you will work through these scenarios, overcoming challenges and implementing solutions. As your skill set grows, you will focus on many Android data concepts and tools, explore why you need them and how they're used. In this course introduction, you may encounter some new terms. Don't worry if you don't fully understand all of them. During the course, you'll explore these concepts in more detail, along with the core skills required to implement the concepts in your app development with Android. This course consists of five weeks of learning. By the end of this course, you should have acquired the skills and knowledge with the necessary tools to complete the end of course final project. Let's break down the content you will cover in each week of this working with data in Android course. Week 1, is your chance to get to know RESTful API development. The acronym API is short for application programming interface, and REST means Representational State Transfer. REST provides guidelines that outline best practices for working with an API. After your studies this week, you will be able to explain different HTTP methods, status codes and responses, identify the key characteristics, benefits, and uses of REST API, it states and its resources, create routes with the correct naming conventions, explain the principles of authentication in a REST API, differentiate between authentication and authorization and explain the API requests lifecycle. Week 2, practices applying asynchronous programming techniques to query REST APIs and handle their responses using Kotlin and Android. You will advance your skills during this week to be able to, explain concurrency in Kotlin, apply Kotlin coroutines in Android applications and apply different concurrency patterns. Week 3, covers data in databases and accessing it using Structured Query Language or SQL. After successfully completing this week, you'll be able to, explain what a database is and what its general uses are, explain how data is related in a database, differentiate between types of databases, and apply the syntax rules of SQL to use common SQL commands. In Week 4, you'll work with SQLite in Android. After successfully completing this week, you'll be able to, store simple data in Android using shared preferences, setup and query a SQL-like database in Android and connect data to upstate. In this final week of the course you will, combine the concepts and skills gained from this course to complete the final app development project. The practical project work involves, filtering and sorting and apps food menu and displaying it using SQLite. In addition, you'll get to reflect on the next steps in your learning journey. The working with data in Android course, introduces you to many software engineering concepts to help you to better manage data in your Android apps. The important success factors for an app, are not just about it looking well and functioning without error. They also include, how well the app can deliver content to the user. Your programming approach to delivering content is based around creating and managing data solutions because, these are vital components that ensure a successful app. I look forward to helping you advance your programming skills to the next level. Wishing you all the best on your Android learning journey.