KJFrameForAndroid 的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全高效的开发APP。目标是用最少的代码,完成最多的操作,用最高的效率,完成最复杂的功能。 项目地址:http://git.oschina.net/kymjs/KJFrameForAndroid
本次更新内容包括:
支持Android6.0的网络请求(在Android6.0上移除了全部的HttpClient相关类,KJHttp根据Google推荐通过HttpUrlConnection来支持Android6.0)。
移除HttpCallback中一处标记为过时的方法拼写错误的方法。
添加异步回调onSuccessInAsync(),当http请求成功时会现在异步回调本函数,然后才会在UI线程执行onSuccess()。(我们在做解析的时候,通常是在UI现场中操作,如果此时数据过于复杂,则会阻塞UI线程。本次更新你将可以在异步做解析操作,并在UI线程来使用异步解析后的数据)
KJActivity类中枚举替换为int,基类中Handle使用软引用调用。
public KJHttpResponse performRequest(Request<?> request,
Map<String, String> additionalHeaders) throws IOException 这个方法中有一句for (String headerName : map.keySet()) {
if (null != map.get(headerName)) {
connection.addRequestProperty(headerName, map.get(headerName));
}
}
你connection.addRequestProperty的时候需要判断是否为null。对于8就是null,只要这个判断是否为空就可以解决了。
引用来自“梅利奥达斯92”的评论
我用2.2模拟器请求json数据,就会是400错误,但是4.0的模拟器就一切正常。而2.2模拟器请求图片,html数据又都正确,而且下载也正确,就是请求json数据出问题,400.大神,望解决!!在框架中params.putheader("Accept-Encoding", "gzip");
really?