栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android / Java:如何延迟返回方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android / Java:如何延迟返回方法

我创建了此文件,并按照以下方式进行管理,请看一下,希望对您有用

public class APIManager {    public static void createRequest(Context c, String requestTag, String endPoint, List<NamevaluePair> params, final onRequestCompletedListener listener, TransParentProgressDialog pd) {        ServerDetails serverDetails = new ServerDetails(c, endPoint, params);        JsonObjectRequest request = new JsonObjectRequest(Method.GET,     serverDetails.getQueryUrl(), null,     new Response.Listener<JSONObject>() {         @Override         public void onResponse(JSonObject response) {  listener.onRequestCompleted(response);         }     }, getErrorListener(c, pd)) {        };        AppController.getInstance().addToRequestQueue(request, requestTag);    }public static ErrorListener getErrorListener(final Context c, final TransParentProgressDialog pd, final TextView tvEmpty, final String errorText) {        Response.ErrorListener listener = new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) {     if (pd != null && pd.isShowing()) {         pd.dismiss();     }     if (tvEmpty != null) {         tvEmpty.setText(errorText);     }     MyDialog dialog;     Log.d("volley-error", error.toString());     if (error instanceof TimeoutError) {         dialog = new MyDialog(c, "Server Timeout");         dialog.show();         return;     } else if (error instanceof NoConnectionError) {         dialog = new MyDialog(c, "No Connection or Invalid Url");         dialog.show();         return;     } else if (error instanceof ServerError) {         NetworkResponse response = error.networkResponse;         if (response != null) {  // int statusCode = response.statusCode;  byte[] data = response.data;  if (data != null) {      String str = new String(data);      try {          JSonObject object = new JSonObject(str);          Log.d("error response", object.toString());          if (object.has("errors")) {   JSonArray errors = object.getJSonArray("errors");   JSonObject errorObject = errors.getJSonObject(0);   dialog = new MyDialog(c, "Error!",errorObject.getString("message"));   dialog.show();          } else {   dialog = new MyDialog(c, "Error!",object.toString());   dialog.show();          }      } catch (JSonException e) {          e.printStackTrace();          dialog = new MyDialog(c, "Error!", "Error");          dialog.show();      }  } else {      dialog = new MyDialog(c, "Server Error");      dialog.show();  }         } else {  dialog = new MyDialog(c, "Server Error");  dialog.show();         }     } else if (error instanceof NetworkError) {         NetworkResponse response = error.networkResponse;         if (response != null) {  // int statusCode = response.statusCode;  byte[] data = response.data;  if (data != null) {      String str = new String(data);      try {          JSonObject object = new JSonObject(str);          Log.d("error response", object.toString());          if (object.has("errors")) {   JSonArray errors = object.getJSonArray("errors");   JSonObject errorObject = errors.getJSonObject(0);   dialog = new MyDialog(c, "Error!",errorObject.getString("message"));   dialog.show();          } else {   dialog = new MyDialog(c, "Error!",object.toString());   dialog.show();          }      } catch (JSonException e) {          e.printStackTrace();          dialog = new MyDialog(c, "Error!", "Error");          dialog.show();      }  } else {      dialog = new MyDialog(c, "Network Error");      dialog.show();  }         } else {  dialog = new MyDialog(c, "Network Error");  dialog.show();         }     } else if (error instanceof ParseError) {         dialog = new MyDialog(c, "Parse Error");         dialog.show();     } else if (error instanceof AuthFailureError) {         NetworkResponse response = error.networkResponse;         if (response != null) {  // int statusCode = response.statusCode;  byte[] data = response.data;  if (data != null) {      String str = new String(data);      try {          JSonObject object = new JSonObject(str);          Log.d("error response", object.toString());          if (object.has("errors")) {   JSonArray errors = object.getJSonArray("errors");   JSonObject errorObject = errors.getJSonObject(0);   dialog = new MyDialog(c, "Error!",errorObject.getString("message"));   dialog.show();          } else {   dialog = new MyDialog(c, "Error!",object.toString());   dialog.show();          }      } catch (JSonException e) {          e.printStackTrace();          dialog = new MyDialog(c, "Error!", "Error");          dialog.show();      }  } else {      dialog = new MyDialog(c, "Error!", "Error");      dialog.show();  }         } else {  dialog = new MyDialog(c, "Error connecting server");  dialog.show();         }     } }        };        return listener;    }}

并按要求完成回叫的界面是

public interface onRequestCompletedListener {        public void onRequestCompleted(JSonObject response);    }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/636707.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号