The url in JsonObjectRequest()
is not optional, and the JSONObject parameter is used to post parameters with the request to the url.
From the documentation:
http://afzaln.com/volley/com/android/volley/toolbox/JsonObjectRequest.html
http://developer.android.com/training/volley/index.html
JsonObjectRequest
public JsonObjectRequest(int method,
String url,
JSONObject jsonRequest,
Response.Listener listener,
Response.ErrorListener errorListener) Creates a new request.
Parameters:
method - the HTTP method to use
url - URL to fetch the JSON from
jsonRequest - A JSONObject to post with the request. Null is allowed
and indicates no parameters will be posted along with request.
listener - Listener to receive the JSON response
errorListener - Error listener, or null to ignore errors.
Using HttpURLConnection
:
http://developer.android.com/reference/java/net/HttpURLConnection.html
The code would be something like this:
public class getData extends AsyncTask<String, String, String> {
HttpURLConnection urlConnection;
@Override
protected String doInBackground(String... args) {
StringBuilder result = new StringBuilder();
try {
URL url = new URL("https://api.github.com/users/dmnugent80/repos");
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
}
}catch( Exception e) {
e.printStackTrace();
}
finally {
urlConnection.disconnect();
}
return result.toString();
}
@Override
protected void onPostExecute(String result) {
//Do something with the JSON string
}
}