AsyncTask和OkHttpClient错误

时间:2018-09-21 16:29:08

标签: java android android-fragments android-asynctask

我正在尝试获取JSON中的URL数据, 效果很好,但是有时当我启动片段而未连接到互联网或什至没有互联网时,应用程序就会停止。

注意:有时代码可以正常工作,

下面是我的代码:

private void load_data_from_server(int id) {

    AsyncTask<Integer,Void,Void> task = new AsyncTask<Integer, Void, Void>() {


        @Override
        protected Void doInBackground(Integer... integers) {

            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                .url("http://localhost:8000/getanimes.php?filter=#")
                .build();           

            try {
                Response response = client.newCall(request).execute();

                JSONArray array = new JSONArray(response.body().string());

                for (int i=0; i<array.length(); i++){

                    JSONObject object = array.getJSONObject(i);

                    Data data = new Data(object.getInt("id"),object.getString("title"),
                                         object.getString("capa"));

                    data_list.add(data);
                    prog ="off";

                }



            } catch (IOException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                System.out.println("End of content");
            }

            return null;
        }



        @Override
        protected void onPostExecute(Void aVoid) {

            adapter.notifyDataSetChanged();
            if(prog.equals("off")){
                progress.setVisibility(View.GONE);  
            }
        }
    };


        task.execute(id);

    }

我不知道该怎么办才能解决问题。 但我认为可能是onPostExecute

0 个答案:

没有答案