AsyncTask и OkHttpClient eror - PullRequest
       17

AsyncTask и OkHttpClient eror

0 голосов
/ 21 сентября 2018

Я пытаюсь получить данные URL в формате JSON, который работает нормально, но иногда, когда я запускаю фрагмент без подключения к Интернету или даже с Интернетом, приложение останавливается.

Примечание:иногда код работает нормально,

Ниже мой код:

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);

    }

Я не знаю, что делать, чтобы решить проблему.Но я думаю, что это может быть на PostExecute

...