post访问添加参数:
1、如果post访问网络,而参数又不是Map<String, String>类型的,可以直接重写getBody()方法,返回byte[];
2、如果未写明网络访问的方式,即是post访问还是get访问,volley中默认是DEPRECATED_GET_OR_POST方法,这时需要重写getPostBody()方法,
HurlStack使用https访问网络时,
必须使用实例化使用构造函数HurlStack(UrlRewriter urlRewriter, SSLSocketFactory sslSocketFactory) 实例化,使用HttpURLConnection访问网络【使用HttpUrlConnStack执行https请求时配置https请参考Android网络编程——https 不验证证书方式(信任所有证书)】;
如果你发现使用HttpURLConnection访问网络返回的数据乱码,这是因为在Android 2.3版本的时候,HttpURLConnection会自动在每个发出的请求中加入如下消息头,并处理相应的返回结果: Accept-Encoding: gzip 参考
如果访问网络服务器时使用了cookie,且又必须频繁访问网络【测试100ms访问一次网络】,必须主动设置RequestQueue中线程池的个数为1,不然就有可能出现错误:
NetworkDispatcher.run: Unhandled exception java.lang.IllegalStateException: Adapter is detached.
java.lang.IllegalStateException: Adapter is detached.
at org.apache.http.impl.conn.AbstractPooledConnAdapter.assertAttached(AbstractPooledConnAdapter.java:90)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:118)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
at com.android.volley.toolbox.HttpClientStack.performRequest(HttpClientStack.java:83)
at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:93)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:105)