This course will be retired on July 14, 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
Well done!
You have completed Android Lists and Adapters!
You have completed Android Lists and Adapters!
Preview
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