这个问题在这里已有答案:
这是我打电话的URL
-
private String url="http://mywebsite.com/requiredfolder/myfile.php";
这是从上面的URL获取的json输出 -
{"wallpapers":[{"id":"9","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/[email protected]_X5x6MVgv_VID-20171202-WA0012.mp4","downloads":"0","fav":"0"},
{"id":"8","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/[email protected]_eFmWtS@I_Funny Kid playing.mp4","downloads":"0","fav":"0"},
{"id":"7","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/[email protected]_trE3U&%x_VID_20171019_163735.mp4","downloads":"0","fav":"0"},
{"id":"6","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/[email protected]_ROgIfyHG_Assamesefunny.mp4","downloads":"0","fav":"0"},
{"id":"3","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/[email protected]_C2z$XU6!_Bombay Ka Brahman.mp4","downloads":"0","fav":"0"}],"success":1,"count":"5"}
现在在我的Java文件中尝试使用给定代码读取相同内容时 -
try
{
DefaultHttpClient defaultClient = new DefaultHttpClient();
Log.d("Message : ","DefaultHttpClient done");
HttpGet httpGetRequest = new HttpGet(url);
Log.d("Message : ","HttpGet done");
HttpResponse httpResponse = defaultClient.execute(httpGetRequest);
Log.d("Message : ","HttpResponse done");
BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
Log.d("Message : ","BufferedReader done");
result = reader.readLine();
//response = CustomHttpClient.executeHttpGet(url);
//Log.d("Message : ","response done");
//result = response.toString();
Log.d("Message : ","result done");
json = new JSONObject(result);
}
catch (Exception e) {
Log.e("log_tag","Error in http connection!!" + e.toString());
}
在上面的代码中,符合 -
HttpResponse httpResponse = defaultClient.execute(httpGetRequest);
我得到运行时execption
。
E/log_tag: Error in http connection!!android.os.NetworkOnMainThreadException
苦苦挣扎但没有任何想法,我的代码上的任何灯都会很棒。
NetworkOnMainThreadException
应用程序尝试在其主线程上执行网络操作时引发的异常。尝试在不同的后台线程中实现您的逻辑。
https://developer.android.com/reference/android/os/NetworkOnMainThreadException.html NetworkOnMainThreadException读取此内容