我正在尝试获取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