Mik*_*e T 32 networking android open-source bug-reporting android-volley
由于有关于Volley的这个精彩的演示文稿,我试图将它包含在我正在进行的项目中.我发现自己纠正了我在发布的源代码中发现的一些错误.
有没有人知道是否会有一些可以为项目做贡献的GitHub项目,还是有其他方式向开发人员传达错误和功能请求?
关于我与Volley的问题:
1.似乎重定向不能正常工作:Volley返回错误代码302
而不是重定向到响应头中给出的位置.
2.获取缓存目录在运行4.2.2的模拟器上不起作用:
cacheDir = new File(context.getCacheDir(), DEFAULT_CACHE_DIR);
final String cacheDir1 = "/Android/data/cache/";
cacheDir = new File(Environment.getExternalStorageDirectory().getPath() + cacheDir1);
Run Code Online (Sandbox Code Playgroud)
但是,此解决方法是特定于平台的.只是想为完成添加它.
除此之外,我认为Volley真的是一段很棒的代码,而且正是我一直在寻找的,直到我自己做了;)
更新1
这里是AOSP贡献页面的另一个链接.我认为它更像是一个独立的库.我会检查出来,虽然我仍然欣赏有关Volley的更多信息和教程.我建议的源代码只是一个快速而肮脏的修复,它在我的演示项目中完成了这个技巧.
更新2
我发现Ognyan Bankov提到的另一个有趣的博客文章是对另一个问题的回答,这可能会有所帮助.
似乎在评论中已经回答了很多,但我会尝试覆盖其余部分,或者更确切地说,我将尝试涵盖您的具体问题.
1)Volley不会自己处理重定向.它由底层的HttpStack处理.例如,我目前使用OkHttp(来自Square)作为我的Volley的HTTP客户端.请参阅https://plus.google.com/108284392618554783657/posts/eJJxhkTQ4yU https://gist.github.com/JakeWharton/5616899 OkHttp非常棒,因为它具有处理SPDY,重定向和其他HTTP便利性的出色默认设置.您也可以使用它来实现平台HttpUrlConnection的默认值(在连接之前调用followRedirects(),然后将其交给Volley,例如https://developer.android.com/reference/java/net/HttpURLConnection. html #setFollowRedirects(boolean))
2)我甚至不确定我是否将getCacheDir()用于Volley缓存.根据文档(https://developer.android.com/reference/android/content/Context.html#getCacheDir()),该缓存目录不应超过1 MB.然而,大多数客户端倾向于使用10 mb作为http缓存的默认值(1 MB对于Http缓存来说真的很小!!).另外,为什么使用这样的深度缓存目录?没有理由"cacheDir1"应该是多个目录深.只需将其设为文件名即可.getCacheDir()无论如何都会返回你自己的文件夹.我建议在初始化Volley时这样做(通常推荐的地方是Application类):
File volleyCacheFile = new File(getExternalCacheDir(), "volleyCache.tmp");
Run Code Online (Sandbox Code Playgroud)
当然,这没有任何错误处理(如果外部存储不可用怎么办?).另外,不要忘记您需要相应的权限来编写外部存储.
希望有所帮助.
归档时间: |
|
查看次数: |
4849 次 |
最近记录: |