标签: android-volley

Android的Volley库解析xml响应?

我正在使用齐射库并在XML中获得响应.我想知道如何使用/ volley库解析响应.谢谢.

android-volley

11
推荐指数
2
解决办法
2万
查看次数

android - volley error未找到身份验证挑战

我正在尝试使用一些遗留代码,并在使用凌空时遇到问题.

我试图找到我们的主站点的API,它适用于一个帐户,但不适用于另一个帐户.我正在尝试弄清楚请求URL /标题中的差异以及响应中的内容,但我似乎无法在排序代码中找到将其打印到日志中的方法.

我得到的错误是

com.android.volley.NoConnectionError: java.io.IOException: No authentication challenges found
Run Code Online (Sandbox Code Playgroud)

我已经读到这可能是由于401响应,但我真的不知道这意味着什么,或者至少如何证明/测试它.我真的很困惑,它适用于一个帐户而不是另一个帐户.

网址略有不同,一个是我们的英国网站,另一个是我们的AM,但除此之外没有区别.

谢谢

authentication android android-volley

11
推荐指数
2
解决办法
1万
查看次数

在Volley Android库中的网络请求之后更新UI线程

我决定尝试一下Volley,所以目前我有很多REST标注要做,所以我通常会创建一个RequestHandler和一个ResponseHandler类,它们的名字分别建议处理请求和响应.我遵循这种模式,所以我不写冗余代码.我只是将动态查询/ url作为参数传递,并使用switch case处理对每个请求的响应.但我坚持以下问题:

我无法从我调用RequestHandler类的地方更新我的UI线程.到目前为止我尝试或已经知道的事情:

  1. 使UI元素(Textview,Listview)保持静态,并在响应到来后更新它们.
  2. 传入上下文参数并在收到响应后更新UI.
  3. 将请求和响应写为Activity中的内部类
  4. 摆脱排球.

我在想,你们是怎么做到的?有没有比我遵循的请求/响应处理程序模式更好的模式?有没有更新UI线程遵循相同模式的方法?

提前致谢 !

rest android android-volley

11
推荐指数
1
解决办法
5355
查看次数

如何获得成功响应的状态代码Volley Android

我想问一下使用Volley时如何获取状态代码.

我有以下代码:

StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    // Here I want to get status code
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                }
            }
    )
Run Code Online (Sandbox Code Playgroud)

可能吗 ?如果没有,为什么?

android response status request android-volley

11
推荐指数
1
解决办法
1万
查看次数

排球请求中的UTF-8编码

在我的Android应用程序中,我正在使用Volley加载json数据JsonArrayRequest.数据是由我自己创建的,我用Sublime用UTF-8编码保存它们.当我得到Response并填充我的时ListView,文本显示不正确(变音符号).这是我的请求的样子:

JsonArrayRequest request = new JsonArrayRequest(targetUrl,
                new Response.Listener<JSONArray>() {
                    @Override
                    public void onResponse(final JSONArray response) {
                        try {
                            fillList(response);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        });
        requestQueue.add(request);
Run Code Online (Sandbox Code Playgroud)

当我使用此方法加载完全相同的数据时,所有文本都正确显示:

final StringBuilder builder = new StringBuilder();
        final HttpClient client = new DefaultHttpClient();
        final HttpGet httpGet = new HttpGet(request);
        try {
            final HttpResponse response = client.execute(httpGet);
            final StatusLine statusLine = response.getStatusLine();
            int statusCode = …
Run Code Online (Sandbox Code Playgroud)

encoding android utf-8 android-volley

11
推荐指数
4
解决办法
2万
查看次数

如何在android中使用volley将json对象发送到服务器

我想使用POST方法将JSONObject发送到服务器.我已经使用volley库传递字符串params它的工作正常,但如果我尝试使用json对象,它显示错误调用json对象这里是我的代码

    private void makeJsonObjReq() {
    showProgressDialog();
    JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
            Const.URL_LOGIN, null,
            new Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {
                    Log.d(TAG, response.toString());
                    msgResponse.setText(response.toString());
                    hideProgressDialog();
                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    VolleyLog.d(TAG, "Error: " + error.getMessage());
                    hideProgressDialog();
                }
            }) {

        /**
         * Passing some request headers
         * */
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Content-Type", "application/json; charset=utf-8");
            return headers;
        }

        @Override
        protected Map<String, String> getParams() …
Run Code Online (Sandbox Code Playgroud)

android json android-volley

11
推荐指数
1
解决办法
3万
查看次数

发布Json对象数据以使用android中的volley获取Json数组响应

我需要发布JSONObject(使用Volley)一个以JSONArray格式返回响应的Web服务.

这是我到目前为止所尝试的.

final JSONObject requestJsonObject = new JSONObject();
requestJsonObject.put("username", userName);
requestJsonObject.put("password", password);

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, ServiceUrls.LOGIN_URL, requestJsonObject, loginResponseListener, loginErrorListener);


private Listener<JSONObject> loginResponseListener = new Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject resposne) {
         //other stuff goes here
    }
};
Run Code Online (Sandbox Code Playgroud)

但我JSONException要说的是JSONArray无法转换为JSONObject.有没有办法以JSONArray格式获得响应?什么是我的问题的最佳解决方案?JSONObject如果我使用StringRequest而不是,我该如何发送JsonObjectRequest?请指导我

android json http-post android-volley jsonobject

11
推荐指数
1
解决办法
7353
查看次数

仅在Android而非iOS上使用"Volley"进行服务器请求超时

在我的一个应用程序中,我使用Googlevolley提供的服务器发送请求.

问题:超时和错误对象为空 onErrorResponse(VolleyError error)

到目前为止我尝试了什么:

1)首先我得到了null错误对象,所以使用下面的代码解决了它:

 @Override
 protected void deliverResponse(String response) {
    super.deliverResponse(response);
 }

 @Override
 public void deliverError(VolleyError error) {
     super.deliverError(error);
     DebugLog.e("deliverResponse", "getNetworkTimeMs : " + error.getNetworkTimeMs());
 }
Run Code Online (Sandbox Code Playgroud)

到目前为止,我得到了timeout当我得到错误对象时发生的事情null.

2)现在的应用是AndroidiOSweb,但timeout只针对发生Android.

要求的排球日志:

BasicNetwork.logSlowRequests: HTTP response for request
Run Code Online (Sandbox Code Playgroud)

编辑说明:

  1. 在服务器端开发的Web服务对于所有三个实例(Android,Web和iOS)都是相同的.

  2. Timeout 当有太多用户向服务器发出请求时发生.

  3. 我已经设定了2分钟的时间,但有时只有30秒的凌空抽射超时.

  4. 我有很多答案来改变服务器,但因为它是不可能所以任何其他解决方案请.

我还想补充一点,如果我能获得更多关于何时可以超时的超时的信息?

参考文献我经历过:

优化排球

HttpClient的,经常超时的-使用-WiFi的是持续的,细带-3G

long_xmlhttprequest_ajax_requests_timeout_on_android

编辑:

我还设置了重试政策如下:

request.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 48,
                0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Run Code Online (Sandbox Code Playgroud)

而且我也不想在连接超时时重试.

如何才能进行有效的服务调用,以解决问题timeout.

任何帮助都会得到满足.

谢谢.

android timeout http web android-volley

11
推荐指数
1
解决办法
8823
查看次数

无法解析符号'RequestQueue'

我是android studio和volley library的新手,所以请耐心等待.

我已经通过GitHub添加了volley库,然后添加了这一行来构建gradle文件:compile'c​​om.android.support:appcompat-v7:23.0.1'

现在我正在尝试一些关于来自api的请求和响应的教程,但由于某种原因我不能创建RequestQueue的实例为什么?我正在使用Android 4.0.3 IceCreamSandwish

谢谢

android android-studio android-volley

11
推荐指数
1
解决办法
2万
查看次数

handleWindowVisibility:令牌 android.os.BinderProxy 没有活动

我有一个登录屏幕,成功登录后,它会完成并显示另一个包含用户信息的页面。
我读过这篇文章这篇文章
我还阅读了很多关于我们如何扩展 Application 类的内容,但我仍然无法运行此代码。
您可以在下面找到我的代码,我也会解释错误。

这就是我使用 Volley 调用 AsyncTask 的方式:
错误就像no activity for token android.os.BinderProxy我调用startActivity(intent);.
我知道这个错误是因为活动被杀死了,而 Volley 响应之后的 AsyncTask 想要使用被杀死的上下文,但我不知道如何修复它。

Util.request_function(
     activity,
     MainActivity.user_session,
     key_value,
     new VolleyCallback() {
          @Override
          public void onSuccess(JSONObject result, Context context) {

                 Activity activity = 
                 MyBaseActivity.myCustomApplication.getCurrentActivity();
                 Intent intent = new Intent(activity, SelfieCapture.class);
                 startActivity(intent);
                 finish();
          }
          @Override
          public void onError(String result) {

          }
});
Run Code Online (Sandbox Code Playgroud)

我有如下接口:
VolleyCallback.java:

public interface VolleyCallback {
    void onSuccess(JSONObject result) throws JSONException;
    void onError(String result) throws …
Run Code Online (Sandbox Code Playgroud)

java android android-asynctask android-studio android-volley

11
推荐指数
2
解决办法
3万
查看次数