MyPage is a personalized page based on your interests.The page is customized to help you to find content that matters you the most.

I'm not curious

Build a Weather App

Course Summary

In this course we will learn about a very common and important element of Android development: downloading data from the Internet! We will request weather forecast data from a free API provided by We will then parse that data (in JSON format) and display it in a single-page app. We will also see how to handle errors and situations when the network is unavailable.

  • +

    Course Syllabus

    Exploring an API

    What is an API? What Does it Mean to Use One? This stage will introduce the project and explore an API provided by 7 steps
    • Introducing Stormy 2:05
    • Android Warm-Up 2 objectives
    • What is an API? What Does it Mean to Use One? 4:44
    • What is an API? 5 questions
    • The Forecast API 3:04
    • Creating the Project 3:11
    • Review: Forecast and Our Project 5 questions
    • Extra Credit Jump-Starting JSONWith your newly created Forecast account, log in and visit Use your personalized URL and just paste it in your browser to explore the JSON. You can format it on a site like prettyjson or using a browser extension like JSONView. Get familiar with the data as we'll use it a lot in this and the subsequent project!


    Even though we use the Web in lots of ways in our daily lives, communicating with the Web and interacting with the information we get is not a trivial task. Let's see how to make networking in Android easy with the help of a 3rd party library called OkHttp. 8 steps

    Concurrency and Error Handling

    Concurrency, or doing things together in parallel, is an important property of our system that let's us execute blocks of code simultaneously. In this stage, we take a look at what concurrency exactly means, why it's necessary, and how to make our networking call in a concurrent manner. We'll also learn how to gracefully handle any errors. 9 steps

    Working with JSON

    Our weather data is in the JSON format, which is a way of representing data in a simple-to-read manner that is easily parsed and used by programming languages. In this stage we will learn how to parse that data and store it in Java model objects that we can use in our app. 12 steps

    Building the Weather UI

    With all the pieces in place we can finally display our forecast data in an interface designed by one of our Treehouse designers. 8 steps

    Hooking Up the Model to the View

    Our last task is to wire up the data from our CurrentWeather model to our freshly implemented user interface. 9 steps

Course Fee:
USD 25

Course Type:


Course Status:



1 - 4 hours / week

Attended this course?

Back to Top

Awards & Accolades for MyTechLogy
Winner of
Top 100 Asia
Finalist at SiTF Awards 2014 under the category Best Social & Community Product
Finalist at HR Vendor of the Year 2015 Awards under the category Best Learning Management System
Finalist at HR Vendor of the Year 2015 Awards under the category Best Talent Management Software
Hidden Image Url