android - parsing response from HttpUrl in NetworkUtils to onpostExecute -
hey i'm trying complete asynctask udacities popularmovies app, i'm new android , trying figure out 1. how set data recieved doinbackground onpostexecute , populate recycler view 2. in networkutils.buildurl, how set default view option(popular/rating default.
heres code networkutils private static final string log_tag = networkutils.class.getsimplename();
public static final string sort_by_popular = "most_popular"; public static final string sort_by_rating = "top_rated"; private static final string api_key = "api_key"; private static final string base_url_popular = "https://api.themoviedb.org/3/movie/popular"; private static final string base_url_top_rated = "https://api.themoviedb.org/3/movie/top_rated"; final string sort_by = "sort_by"; string sortby = params[0]; public static url buildurl(string sortmode) { url url = null; try { if (sortmode.equals(sort_by_popular)) { uri builturi = uri.parse(base_url_popular).buildupon() .appendqueryparameter(api_key, buildconfig.open_movies_api_key) .appendqueryparameter(sort_by, sortby) .build(); url = new url(builturi.tostring()); } else if (sortmode.equals(sort_by_rating)) { uri builturi = uri.parse(base_url_top_rated).buildupon() .appendqueryparameter(api_key, buildconfig.open_movies_api_key) .appendqueryparameter(sort_by, sortby) .build(); url = new url(builturi.tostring()); } } catch (malformedurlexception e) { e.printstacktrace(); } return url; } public static string getresponsefromhttpurl(url url) throws ioexception { httpurlconnection urlconnection = (httpurlconnection) url.openconnection(); try { inputstream in = urlconnection.getinputstream(); scanner scanner = new scanner(in); scanner.usedelimiter("//a"); boolean hasinput = scanner.hasnext(); if (hasinput) { return scanner.next(); } else { return null; } } { urlconnection.disconnect(); } }
}
and heres code asynctask far (let me know if theres problem understanding, im new android)
public class mytask extends asynctask<url, void, string> { @override protected string doinbackground(url... params) { url jsonmoviedataurl = params[0]; string jsonmoviedataresult = null; try { jsonmoviedataresult = networkutils.getresponsefromhttpurl(jsonmoviedataurl); } catch (ioexception e) { e.printstacktrace(); } return jsonmoviedataresult; }@override protected void onpostexecute(string jsonmoviedataresult) { if (jsonmoviedataresult != null && !jsonmoviedataresult.equals("")) { } super.onpostexecute(jsonmoviedataresult); } }
Comments
Post a Comment