URL url = new URL(versionPath);
Toast.makeText(getApplicationContext(), versionPath, Toast.LENGTH_SHORT).show();
HttpURLConnection c = (HttpURLConnection) url.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();
Toast.makeText(getApplicationContext(), "HttpURLConnection Complete!", Toast.LENGTH_SHORT).show();
异常捕获,第一个版本路径文本是正确的,无法看到“HttpURLConnection完成!”文本。当我在设备内的浏览器上复制相同的“versionPath”时,我可以看到内容。我的清单中有INTERNET权限。有什么想法吗?
答案 0 :(得分:0)
这对我有用,我相信所有类都是android的一部分,并且没有使用外部库。
public static JSONObject getJsonFromUrl(String urlString) throws UnsupportedEncodingException, IllegalStateException, IOException, JSONException {
// set the connection timeout value to 10 seconds (10000 milliseconds)
final HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 10000); //how long to wait for connection
HttpConnectionParams.setSoTimeout(httpParams, 10000); //how long to wait for response
// Create a new HTTP Client
DefaultHttpClient defaultClient = new DefaultHttpClient(httpParams);
// Setup the get request
HttpGet httpGetRequest = new HttpGet(urlString);
// Execute the request in the client
HttpResponse httpResponse = defaultClient.execute(httpGetRequest);
// Grab the response
BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
StringBuilder json = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
json.append(line);
}
// Instantiate a JSON object from the request response
JSONObject jsonObject = new JSONObject(json.toString());
return jsonObject;
}