This course will be retired on June 1, 2025.
Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Preview
Start a free Courses trial
to watch this video
We need to update the app to use the data from the Dark Sky API in the HourlyForecastActivity.
Additional Resources
- Serialization from Treehouse's Java Data Structures course
- Java specification on Serialization
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
Our app is working with our manual,
static data.
0:00
Let's make the necessary changes to
get our JSON data coming through.
0:03
We'll be touching a lot of
different files in this video but
0:07
nothing too extensive in each one.
0:10
In fact, the biggest change in
terms of number of lines of code
0:13
we can do right now.
0:17
We can delete our entire getHourData
method in HourlyForecastActivity.
0:19
Come down here.
0:25
Can delete that, bye-bye.
0:28
You were great and very helpful.
0:31
Our first step in getting our JSON data is
to make the hour class implement the Java
0:34
serializable interface.
0:39
Making an object serializable allows for
the object to be safe for later.
0:41
I've put some links for more information
about the serializable interface and
0:46
Java serialization in general
in the teacher's notes.
0:51
So in the Hour class, Come up here and
0:54
type implements Serializable.
1:02
Next, in MainActivity, gonna open that up,
we go down to the hourlyOnClick method.
1:11
Down here at the bottom,
we need to add an extra to our intent.
1:23
We need a list of hours.
1:25
We can get that from the get
HourlyForcastActivity method we wrote over
1:27
in Forecast.
1:30
So we're gonna do a List<hour>,
1:35
quick fix for our imports.
1:40
Call it hours,
Arrays.asList(forecast.getHourlyForecast.
1:44
And then we put that
information into our intent.
1:54
So intent.putExtra,
We'll call it HourlyList.
2:01
And we want a Serializable of hours.
2:14
Now we can turn our attention back to
HourlyForecastActivity and get and
2:20
pass in our data.
2:24
Go back to HourlyForecastActivity.
2:25
Here inside onCreate,
2:29
we need to get the data from the intent
that we added over in the MainActivity.
2:30
So Intent, Quick fix our imports,
call it intent.
2:40
Get the intent, List of hours,
we call it hoursList,
2:49
Dual cast, And get our data.
3:00
Get the serializeable data.
3:10
Get SerializeableExtra.
3:14
We called it HourlyList.
3:16
And let's drop this down under new line.
3:25
Here, where we've defined our adapter, and
3:27
we're calling our deleted
getHourData method.
3:30
We can now replace that
with our hoursList.
3:33
That was a lot of steps.
3:39
Let's walk through all that again.
3:40
We updated the hour class to
implement Serializable, allowing for
3:43
the data to be saved in memory and
passed to the HourlyForecastActivity.
3:47
Next, we headed over to MainActivity.
3:51
Here, we added our hourly data to our
intent, with the putExtra method,
3:53
which allows our HourlyForecastActivity
to gain access to that.
3:58
Then we headed to HourlyForecastActivity.
4:03
Over here inside onCreate,
we were able to get the serialized data
4:06
from the intent with
the getSeralizableExtra method.
4:11
Finally, we updated the adapter
to use our dynamic data source.
4:15
All right, let's run our app again and
see it all working.
4:19
So there is our app we
click on hourly forecast.
4:28
There's our data in a recycler view and
scrolling around.
4:34
Awesome, well done,
we've taken our stormy app and
4:39
added the ability to see hourly
data in our recycler view.
4:42
You should be super proud of
the work you've put in so far.
4:47
There's one other quick thing we
should do in our app to make it work
4:50
a little better.
4:53
Let's take a look in the next video.
4:54
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up