特别说明:本次升级不影响API的使用,请大家放心升级,如果升级之后有问题,那你顺着网线来打我啊。嘿嘿,开个玩笑,如果升级后有问题,请立刻通过issue或者qq反馈给我,保证分分钟修复并发布新版。
Android4.0
以下使用Https
不支持TLSv1.1
,TLSv1.2
的系统问题。SSLSocketFactory
、全局HostnameVerifier
、全局重试次数。Config
类变为InitializationConfig
类,并使用Build
模式。HttpHeaders
类,把Header
接口改为类并实现所有原接口方法。DefaultDownloadRequest
类,把RequestDownload
接口改为类并实现所有接口方法。IProtocolRequest
接口,直接使用ProtocolRequst
类。Request
接口改为抽象类,提供结合队列使用的方法。IBasicRequest
接口,直接向外提供BasicRequest
类。HeaderUtil
改为HeaderUtils
,NetUtil
改为NetUtils
。OkHttp
为3.8.0,OkHttp
原项目:https://github.com/square/okhttp
另外需要说明原来的Request#add(Map<String, String>)
更新为Request#add(Map<String, Object>)
,这样做的好处是喜欢使用Map
封装参数的同学,可以在Map
中添加以下几种类型的参数了:
String、File、Binary、List<String>、List<Binary>、List<File>、List<Object>
代码举例说明:
Map<String, Object> params = new HashMap<>();
params.put("name", "yanzhenjie");
params.put("head", new File(path));
params.put("logo", new FileBinary(file));
params.put("age", 18);
params.put("height", 180.5);
List<String> hobbies = new ArrayList<>();
hobbies.add("篮球");
hobbies.add("帅哥");
params.put("hobbies", hobbies);
List<File> goods = new ArrayList<>();
goods.add(file1);
goods.add(file2);
params.put("goods", goods);
List<Object> otherParams = new ArrayList<>();
otherParams.add("yanzhenjie");
otherParams.add(1);
otherParams.add(file);
otherParams.add(new FileBinary(file));
params.put("other", otherParams);
当然,真实开发中第三种和文件一起使用同一个key
请求,几乎不会存在,但是难免会String
、int
等使用同一个key
请求。
本次升级的一个亮点,增加拼装URL的方法,比如服务器是RESTFUL风格的API,请求用户信息时可能是这样一个URL:
http://api.nohttp.net/rest/<userid>/userinfo
这里的<userid>
就是用户名或者用户id,需要开发者动态替换,然后获取用户信息。以前是这样做的:
String userName = AppConfig.getUserName();
String url = "http://api.nohttp.net/rest/%1$s/userinfo";
url = String.format(Locale.getDefault(), url, userName);
StringRequest request = new StringRequest(url);
...
现在可以这样做:
String url = "http://api.nohttp.net/rest/";
StringRequest request = new StringRequest(url)
request.path(AppConfig.getUserName())
request.path("userinfo")
...
是对1.1.1的bug修复,无api的改动。
com.yanzhenjie.com
,开发者从旧版升级后会发生编译错误,请使用全局替换,将com.yolanda.nohttp
替换为com.yanzhenjie.nohttp
即可。
因此依赖方式也由com.yolanda.nohttp:nohttp:version
变为com.yanzhenjie.nohttp:nohttp:version
AsyncRequestExecutor
。Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )