1 00:00:00,000 --> 00:00:09,449 [MUSIC] 2 00:00:09,449 --> 00:00:11,375 Hi, I'm Ken. 3 00:00:11,375 --> 00:00:14,580 I've an exciting project for us to work on for this course. 4 00:00:14,580 --> 00:00:17,680 One of my most used apps is my weather app. 5 00:00:17,680 --> 00:00:21,430 Now, I've tried several different ones, on a number of different devices. 6 00:00:21,430 --> 00:00:25,210 And while I've liked some, none have been exactly what I've wanted. 7 00:00:25,210 --> 00:00:29,390 Or maybe they've worked well, but they don't look so good. 8 00:00:29,390 --> 00:00:31,730 This is a great opportunity to build our own. 9 00:00:32,730 --> 00:00:35,250 As luck would have it, getting weather data from the Internet, 10 00:00:35,250 --> 00:00:40,530 and displaying it in an application is a great learning experience. 11 00:00:40,530 --> 00:00:44,910 These days most apps have some online component, which requires us to get 12 00:00:44,910 --> 00:00:49,360 familiar with sending and receiving data over device's network connection. 13 00:00:50,610 --> 00:00:53,839 I'm going to assume that you're comfortable with the concepts covered in 14 00:00:53,839 --> 00:00:55,230 our previous Android courses. 15 00:00:55,230 --> 00:00:58,392 If you haven't taken our other courses, check the prerequisites 16 00:00:58,392 --> 00:01:03,000 list in Teacher's Notes, and complete those courses prior to starting this one. 17 00:01:03,000 --> 00:01:03,680 Let's get started. 18 00:01:04,770 --> 00:01:08,010 Our user interface will be relatively simple. 19 00:01:08,010 --> 00:01:11,420 Once again, we have some great design mock-ups to work from, thanks for 20 00:01:11,420 --> 00:01:14,250 our amazing designers here at Treehouse. 21 00:01:14,250 --> 00:01:15,510 We'll call this app Stormy, 22 00:01:15,510 --> 00:01:20,550 and it will simply display current weather conditions for a hard coded location. 23 00:01:20,550 --> 00:01:23,670 Stormy will load fresh data each time we run the app, and 24 00:01:23,670 --> 00:01:25,180 we'll also add a refresh button. 25 00:01:26,510 --> 00:01:29,600 We'll use the Dark Sky service for our stormy app. 26 00:01:29,600 --> 00:01:34,100 This service provides weather data for developers, is fairly easy to use, and 27 00:01:34,100 --> 00:01:36,640 powers some popular weather applications. 28 00:01:36,640 --> 00:01:41,822 If we scroll down here and click on the Dark Sky API link down in the footer, 29 00:01:41,822 --> 00:01:45,178 and scroll down here on their page a little bit, 30 00:01:49,049 --> 00:01:52,543 We can find a list of some of the organizations that rely on their data. 31 00:01:52,543 --> 00:01:54,888 This service is pretty reliable, and 32 00:01:54,888 --> 00:02:00,610 as we see at the top of this page, It's free to get started. 33 00:02:00,610 --> 00:02:01,340 Thanks, Dark Sky. 34 00:02:02,650 --> 00:02:05,273 A typical weather app will detect your location and 35 00:02:05,273 --> 00:02:08,850 provide location-specific weather automatically. 36 00:02:08,850 --> 00:02:13,050 However, the focus of this course is to learn about networking. 37 00:02:13,050 --> 00:02:17,360 As such, Stormy will not automatically detect our location. 38 00:02:17,360 --> 00:02:20,920 We'll just use a specific location and hard code it into the application. 39 00:02:21,950 --> 00:02:25,240 Hard coding simply means we'll type the location coordinates 40 00:02:25,240 --> 00:02:26,120 directly into the app. 41 00:02:27,160 --> 00:02:31,494 Adding location detection functionality to the app would be an easy feature 42 00:02:31,494 --> 00:02:33,128 enhancement to do later on. 43 00:02:33,128 --> 00:02:35,730 And I encourage you to try it once the app is finished. 44 00:02:36,750 --> 00:02:39,990 Before we dive into Stormy, I'm going to ask you to warm your brain and 45 00:02:39,990 --> 00:02:41,831 fingers with a quick code challenge. 46 00:02:41,831 --> 00:02:45,320 Once you're finished, meet me in the next video and we'll get started.