【问题标题】:How volley synchronously work in android [duplicate]凌空如何在android中同步工作[重复]
【发布时间】:2016-02-19 11:38:08
【问题描述】:

volley 库如何在 android 中同步工作?我想当 volley 从服务器获得响应时,程序的执行停止并等待 volley 的结果。

【问题讨论】:

    标签: android android-volley


    【解决方案1】:

    您可以显示特定时间的加载程序,如下所示:

     public void getResult() {
            try {
                final ProgressDialog pDialog = new ProgressDialog(HomeActivity.this);
                pDialog.setMessage("Loading...");
                pDialog.show();
    
                StringRequest sr = new StringRequest(Request.Method.POST, MapAppConstant.API , new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        pDialog.dismiss();
                        Log.d("", ".......response====" + response.toString());
    
                        ////////
                        try {
                            JSONObject object = new JSONObject(response);
                            String serverCode = object.getString("code");
                            String serverMessage = object.getString("message");
                            //  Toast.makeText(HomeActivity.this, "" + serverMessage, Toast.LENGTH_SHORT).show();
                            if (serverCode.equalsIgnoreCase("0")) {
    
                            }
                            if (serverCode.equalsIgnoreCase("1")) {
                                try {
    
                                } catch (Exception e) {
                                    e.printStackTrace();
                                }
    
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }
                        , new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        pDialog.dismiss();
                        //  VolleyLog.d("", "Error: " + error.getMessage());
                        if (error instanceof TimeoutError || error instanceof NoConnectionError) {
                            Toast.makeText(HomeActivity.this, "Timeout Error",
                                    Toast.LENGTH_LONG).show();
                        } else if (error instanceof AuthFailureError) {
                            VolleyLog.d("", "" + error.getMessage() + "," + error.toString());
                        } else if (error instanceof ServerError) {
                            VolleyLog.d("", "" + error.getMessage() + "," + error.toString());
                        } else if (error instanceof NetworkError) {
                            VolleyLog.d("", "" + error.getMessage() + "," + error.toString());
                        } else if (error instanceof ParseError) {
                            VolleyLog.d("", "" + error.getMessage() + "," + error.toString());
                        }
                    }
                }
                ) {
                    @Override
                    protected Map<String, String> getParams() {
                        Map<String, String> params = new HashMap<String, String>();
    
                        params.put("user_language", prefshelper.getUserLanguageFromPreference());
    
    
                        return params;
                    }
                };
                sr.setShouldCache(true);
    
                sr.setRetryPolicy(new DefaultRetryPolicy(50000 * 2, DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                        DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
                VolleySingleton.getInstance(HomeActivity.this.getApplicationContext()).addToRequestQueue(sr);
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    

    【讨论】:

    • 不,这个不能同步工作这个异步工作这个答案对我有什么帮助。
    • @TejaBatth 但是你不能停止一个程序。我认为您可以使用线程进行睡眠。
    猜你喜欢
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 2018-10-27
    • 2018-12-11
    • 1970-01-01
    • 2014-08-31
    • 2016-12-27
    • 2016-09-10
    相关资源
    最近更新 更多