android 返回 java_Android / Java:如何延迟返回方法

小编典典

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

public class APIManager {

public static void createRequest(Context c, String requestTag,

String endPoint, List 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() {

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

}

2020-07-27

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值