标签: android-volley

让Robolectric与Volley合作

我想让Volley和Robolectric一起工作.我可以看到我的HTTP请求被调用,并且调用了parseNetworkResponse(我正在发送一个JsonRequest的自定义子类),但我的监听器没有被调用.有什么建议?这是一个代码示例:

@Test
public void testTypeAheadClient() throws Exception {
    Robolectric.getFakeHttpLayer().interceptHttpRequests(false);
    //mRemoteRequestQueue and mCustomRequest are set up previously
    mRemoteRequestQueue.add(mCustomRequest);
}

private static class CustomRequest extends JsonRequest<MyObject> {
    public CustomRequest(String url,
                         Response.Listener<MyObject> listener,
                         Response.ErrorListener errorListener) {
        super(Request.Method.GET, url, null, listener, errorListener);
    }

    @Override
    protected Response<MyObject> parseNetworkResponse(NetworkResponse response) {
        System.out.println("in parseNetworkResponse");
        try {
            MyObject myObject = new MyObject(new JSONArray(new String(response.data, "UTF-8")));
            return Response.success(myObject, HttpHeaderParser.parseCacheHeaders(response));
        } catch (Exception e) {
            e.printStackTrace();
            return Response.error(new ParseError(e));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android robolectric android-volley

15
推荐指数
1
解决办法
3256
查看次数

Android排球框架

观看了今年的Google IO会议后:"Google I/O 2013 - 排球:Android的简单,快速网络"

我决定更换我当前的RESTful实现,转而使用Volley.正如所建议的那样,我已将googlecode的存储库克隆到我的项目中,并将其作为库项目包含在内.

一切都很好,这个库确实很棒,但是如果没有正式版本只在主分支上提交,我怎么能告诉它什么时候更新呢?谁负责宣布哪些版本稳定哪些版本不稳定?是否有任何官方博客可以获得有关此框架的更新?

谢谢

android android-volley

15
推荐指数
1
解决办法
4825
查看次数

使用Volley的详细调试日志

在iOS上的Restkit中有一个详细的调试选项.RKLogConfigureByName("*", RKLogLevelTrace);.有谁知道Volley是否有相同的东西.基本上我直接使用ErrorListener,但我没有在LogCat中获得其他信息.都:

VolleyLog.e("Error: ", error.toString());
Run Code Online (Sandbox Code Playgroud)

和:

VolleyLog.e("Error: ", error.getMessage());
Run Code Online (Sandbox Code Playgroud)

打印:

2.onErrorResponse: Error: 
Run Code Online (Sandbox Code Playgroud)

android adb android-logcat android-volley

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

Volley没有为标准POST请求调用getParams()

我正在尝试使用Android中的Volley将一些参数发布到我的rails API.这是代码:

我尝试了两个日志语句,一个在getParams(),另一个在getHeaders().getHeaders()记录中的一个而另一个不记录.为什么凌空无视getParams()

{
//full_name,email,password are private variables defined for this class

String url =  "http://10.0.2.2:3000/users/sign_up.json" ; 

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
                 url, null,
                 new Response.Listener<JSONObject>() {

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

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

             @Override
             public Map<String, String> getParams() {
                 Map<String, String> params = new HashMap<String, String>();

                 //This does not …
Run Code Online (Sandbox Code Playgroud)

android android-volley

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

在Android上使用Volley网络库进行SSL固定

我想在排球网络库中使用SSL Pinning.有没有办法用凌空实现SSL固定?凌空是否为安全性改进提供了这种支持?

ssl android ssl-certificate pinning android-volley

15
推荐指数
2
解决办法
5288
查看次数

使用Volley进行Android离线请求

我想给我的用户提供了一个更好的线下的用户体验,因此,我想建立一个Service存储所有POST,DELETE,PUT(GET是没有意义的,因为GET没有网络呼叫是缓存调用)要求用户做下线,并将它们发送到用户获得互联网连接后立即服务器.我希望它是持久的:即使应用程序被杀死,也会发送数据,以免在缓存和服务器数据之间产生不一致.

我对Google Volley和Android Networking API非常熟悉 - >我知道如何检测没有网络,如何预取数据,缓存它们等等...

但是有关于这个主题的要点或图书馆吗?我知道最新的Facebook版本实现了这样一个系统,但我不知道他们是怎么做的(我的意思是,我知道它们正在使用Service但它们是如何完成的,不知道!).有人对此有任何想法,有经验吗?

android caching android-volley

15
推荐指数
2
解决办法
5085
查看次数

应该维护多少个Volley请求队列?

目前我正在维护一个静态的Volley请求队列,如下所述:

实例化核心Volley对象

  private static RequestQueue mReqQueue;
Run Code Online (Sandbox Code Playgroud)

每个应用程序应该只有一个静态请求队列吗?拥有多个人有什么危害?例如,如果我想要一个请求队列来处理Twitter请求,该怎么办?另外还有其他一切,如身份验证,图像检索等.

android android-volley

14
推荐指数
1
解决办法
6384
查看次数

Android - 取消Volley请求

我在我的项目中使用Android Volley lib来执行网络请求,所有工作都很顺利但是我对这个lib的"取消"功能有一些麻烦.我解释我的问题..

我有一个活动,我在OnCreate方法中执行请求,请求被调用,没问题.但为了确保该cancel方法有效,我想测试并尝试两件事:

  1. 我解雇了我的请求,就像取消它之后:

    MySingleton.getMyData("urltocall", getDataListener, requestTag); MySingleton.getRequestQueue().cancelAll(requestTag);

这一个有效!取消被调用(我也可以在Volley的Request类中看到它):

public void cancel() {
        mCanceled = true; // my breakpoint is called here
    }
Run Code Online (Sandbox Code Playgroud)
  1. 我激活了我的请求,在调用了我的活动的finish()方法和活动的方法onDestroy和/或onStop方法后,我正在调用相同的代码:

    MySingleton.getMyData("urltocall", getDataListener, requestTag); MySingleton.getRequestQueue().cancelAll(requestTag);

但这不起作用!

requestTag不是null并且很好地传递给Volley,所以我无法理解为什么第一种方法有效而不是另一种方法...知道我的目的是在onDestroy被调用时取消请求..

谢谢你的帮助

android request android-volley

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

Android Volley error.getMessage()为空

所以我正在为我的服务器创建一个POST JSonObjectRequest,当它成功时一切正常并且信息被发布,但是如果有错误并且我尝试在吐司中显示它,它会显示为空白.这是我的要求:

private void logUserIn() {
    final String URL = Globals.BASE_URL +"/auth/login/";
    // Post params to be sent to the server
    HashMap<String, String> params = new HashMap<String, String>();
    params.put("username", username.getText().toString());
    params.put("password", password.getText().toString());

    JsonObjectRequest req = new JsonObjectRequest(URL, new JSONObject(params),
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {
                        Log.d("Log In User", response.toString());

                        //logged in db, changes screens
                        Intent nextScreen = new Intent(getApplicationContext(), MyProfile.class);
                        startActivity(nextScreen);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public …
Run Code Online (Sandbox Code Playgroud)

android android-volley

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

什么是Android Volley的最新版本?

我很遗憾地问这个非常简单的问题,但是我试图找到Android Volley的最后一个版本超过半小时.

这里:https://developer.android.com/training/volley/index.html我找到了

dependencies {
    ...
    compile 'com.android.volley:volley:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)

但我确信这不是最后一个版本.使用这个答案没有帮助,因为它没有显示凌空的任何更新.

谢谢

android android-studio android-volley

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