标签: android-volley

Google Volley - 何时使用Cache.remove和Cache.invalidate

我正在将Volley整合到一个项目中并且遇到了标准

[我们在缓存中有项目,但仍希望允许用户刷新]场景

现在Google Volley提供了两种方法来清除缓存中的项目:

getRequestQueue().getCache().remove(key);
Run Code Online (Sandbox Code Playgroud)

getRequestQueue().getCache().invalidate(key, fullExpire);
Run Code Online (Sandbox Code Playgroud)

我看着代码,有点惊讶,这invalidatefullExpire设置为true不完全一样的通话remove(key).

有人能解释一下使用的好处fullExpireremove()

android caching android-volley

12
推荐指数
1
解决办法
9010
查看次数

设置请求优先级排序

我正在尝试使用Android中的Volley库设置我的请求的优先级.我无法找到如何设置请求优先级.

StringRequest request = new StringRequest(Request.Method.GET,"feed URL",volleyListener, volleyErrorListener);
pe.requestQueue.add(request);
Run Code Online (Sandbox Code Playgroud)

有关如何做到这一点的任何想法?

java android android-volley

12
推荐指数
2
解决办法
7846
查看次数

使用游标加载器进行排球或服务

当我从Web服务下载数据时,我几乎总是使用服务.我将结果存储在数据库中,并使用游标加载器在我的视图中显示结果.但谷歌发布网络库后,我已经变得有些困惑了.排球库使用异步任务而不是服务,它不使用游标.我认为我应该避免异步任务并将我的数据存储在数据库中,以便我可以正确处理方向更改 - 而不会丢失数据并且需要再次下载数据.所以我的问题是,我什么时候应该使用Volley而不是我自己的下载策略?

service android cursor android-volley

12
推荐指数
2
解决办法
5805
查看次数

如何在Android 4.1+上将自签名SSL证书导入Volley

我开发使用Volley的 android应用程序.所有通信都通过HTTPS连接完成.因为我在本地环境中测试它,所以我使用Tomcat的自签名证书.

之前,我只有android 2.33.0设备.现在我还有4.1和4.4.

我的实现使用了这种方法:http://developer.android.com/training/articles/security-ssl.html(部分未知证书颁发机构)在Android 高达4.1的设备上,它可以很好地工作.带有自定义证书的SSLSocketFactory传递给Volley:

Volley.newRequestQueue(getApplicationContext(), new HurlStack(null, socketFactory));
Run Code Online (Sandbox Code Playgroud)

但Android 4.1+会发生什么?为什么它不起作用?我也尝试使用NullX509TrustManager:

private static class NullX509TrustManager implements X509TrustManager {
    @Override
    public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType)
            throws CertificateException {
    }

    @Override
    public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType)
            throws CertificateException {
    }

    @Override
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

但它仍然无效......

ssl android ssl-certificate x509certificate android-volley

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

Volley-Library请求队列的最大大小是多少?

Volley在Android中使用库,我想知道使用Volley库允许的最大队列大小是多少.我发现没有任何与此相关的内容.据我所知,您需要将网络请求添加到队列中,但我不知道这可以将其放在队列并行上的最大大小.

RequestQueue requestQueue = Volley.newRequestQueue(this);
.... // block of code
requestQueue.add(jsonObjectRequest);
Run Code Online (Sandbox Code Playgroud)

android android-volley

12
推荐指数
1
解决办法
8357
查看次数

如何自动清除凌空缓存?

我想每30分钟清除一次请求队列.

那么自动清除凌空缓存的最佳方法是什么?

通过扩展凌空缓存类来覆盖方法?

或者构建一个计时器,每次我需要清除缓存?

android caching android-volley

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

POST方法的意外响应代码500

我正在对旧项目进行更新,目前我对Android的知识不多.在项目中,我们有关于产品的评论部分.

为了在发送之前发表评论,我们返回0(一些错误)和1(成功).

以下是我们使用的代码.

final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
    Method.POST,
    act.getString(R.string.CommentForUserURL),
    null, new Response.Listener<JSONObject>() {

    @Override
    public void onResponse(
            JSONObject response) {

        Log.d("response done", "done===" + response);

        mloading.setVisibility(View.GONE);
        if (response != null) {
            Comment obj = new Comment();
            JSONObject jsonObject = response;
            try {
                obj.setComment(jsonObject
                        .getString("Comment"));
Run Code Online (Sandbox Code Playgroud)

现在我们将返回对象从0/1更改为用户对象.

这需要将JsonObjectRequest更新为GJSON请求吗?或者对象也将使用JsonObjectRequest进行解析?

我问,因为当我执行上面的时候,我得到如下错误.

01-25 12:30:21.754: E/Volley(16487): [10114] BasicNetwork.performRequest: 
Unexpected response code 500 for 
http://new.souqalharim.com/add/CommentForMerchant
Run Code Online (Sandbox Code Playgroud)

知道我为什么会收到这个错误吗?

注意:此URL适用于iPhone应用程序.


编辑1

这是post方法,所以没有完整的url.还有更多参数要添加,例如:comment = MyComment&userId = 123&productId = 234.因为它是post我不是在实际url中添加参数.

我有其他方法

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

android json android-volley

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

backoffMultiplier在DefaultRetryPolicy中的含义是什么?

我创建了新的Job重试策略: new DefaultRetryPolicy(5000, 2, 2);

那么,backoffMultiplier意味着什么DefaultRetryPolicy

android android-volley

12
推荐指数
2
解决办法
3241
查看次数

无法解析符号'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万
查看次数