关于Android 的网络请求框架Volley的问题,今天在写项目的时候遇到这样一个问题。我按常规方法拼接url,有一个参数(例如name=Golden Apple)其中Golden与Apple之间的空格居然无法识别,导致解析错误,不能正确发出请求。
后来再复制整个url到浏览器下一试,居然没问题。不过空格自动转码为‘%20’了,不知道这是不是Volley的一个坑,还是我的代码问题。有遇到同样问题的朋友吗,这里我就根据这个空格的转义字符‘%20’把原来的带空格的字符串变为Golden%20Apple加到url中试了一下,显然成功了。
public class VolleyParamUtil {
public static String transformToNoSpaceString(String before){
String after="";
after=before.replace(" ","%20");
return after;
}
}
看来Volley的开发人员显然是大意了,没先到居然有人输入带空格的参数。不过这是我在测试第三方数据提供商数据的时候发现这样一个带空格的参数在Volley中的bug,希望以后的数据空格只有一个。