use of com.restart.spacestationtracker.data.Astronaut in project Space-Station-Tracker by Kiarasht.
the class PeopleinSpace method display_people.
/**
* Displays a list of astronauts in a RecyclerView
*/
private void display_people() {
final String url = "http://www.howmanypeopleareinspacerightnow.com/peopleinspace.json";
final List<Astronaut> peopleInSpace = new ArrayList<>();
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false);
mRecyclerView.setLayoutManager(layoutManager);
mAdapter = new PeopleInSpaceAdapter(mActivity, peopleInSpace);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setNestedScrollingEnabled(true);
mAdapter.setDataSet(peopleInSpace);
mRecyclerView.setAdapter(mAdapter);
} catch (Exception e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError e) {
}
}) {
@Override
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
try {
String jsonString = new String(response.data, HttpHeaderParser.parseCharset(response.headers, PROTOCOL_CHARSET));
JSONObject jsonResponse = new JSONObject(jsonString);
try {
JSONArray astronauts = jsonResponse.getJSONArray("people");
for (int i = 0; i < astronauts.length(); ++i) {
JSONObject anAstronaut = astronauts.getJSONObject(i);
final String name = anAstronaut.getString("name");
final String image = anAstronaut.getString("biophoto");
final String countryLink = anAstronaut.getString("countryflag");
final String launchDate = anAstronaut.getString("launchdate");
String role = anAstronaut.getString("title");
final String location = anAstronaut.getString("location");
final String bio = anAstronaut.getString("bio");
final String wiki = anAstronaut.getString("biolink");
final String twitter = anAstronaut.getString("twitter");
if (role != null && !role.isEmpty())
role = role.substring(0, 1).toUpperCase() + role.substring(1);
Astronaut storeAnAstronaut = new Astronaut(name, image, countryLink, launchDate, role, location, bio, wiki, twitter);
peopleInSpace.add(storeAnAstronaut);
}
Collections.sort(peopleInSpace);
} catch (Exception e) {
e.printStackTrace();
}
return Response.success(new JSONObject(jsonString), HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (JSONException je) {
return Response.error(new ParseError(je));
}
}
};
mRequestQueue.add(jsonObjectRequest);
}
Aggregations