从android中的URL检索JSON数据时出现异常

时间:2017-12-21 08:30:07

标签: php android mysql

这是我正在呼叫的URL -

private String url="http://mywebsite.com/requiredfolder/myfile.php";

这是从上面的URL获得的json输出 -

{"wallpapers":[{"id":"9","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/raman.das@gmail.com_X5x6MVgv_VID-20171202-WA0012.mp4","downloads":"0","fav":"0"},
{"id":"8","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/raman.das@gmail.com_eFmWtS@I_Funny Kid playing.mp4","downloads":"0","fav":"0"},
{"id":"7","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/raman.das@gmail.com_trE3U&%x_VID_20171019_163735.mp4","downloads":"0","fav":"0"},
{"id":"6","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/raman.das@gmail.com_ROgIfyHG_Assamesefunny.mp4","downloads":"0","fav":"0"},
{"id":"3","video_url":"http://mywebsite.com/AndroidApp/VideoUploads/raman.das@gmail.com_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

苦苦挣扎但没有任何想法,我的代码上的任何灯光都会很棒。

2 个答案:

答案 0 :(得分:0)

NetworkOnMainThreadException

应用程序尝试在其主线程上执行网络操作时引发的异常。 尝试在不同的后台线程中实现您的逻辑。

NetworkOnMainThreadException

答案 1 :(得分:0)