服务器和客户端的交互
就个人在使用AsyncHttpClient时遇到的问题记录一下:
1.第一步就是在Manifest中添加权限;
2.第二步添加依赖或者直接倒包android-async-http-1.4.9;
3.第三步 新建类,发送请求
AsyncHttpClient client=new AsyncHttpClient();
public AsyncHttpClient getClient() {
client.get("http://www.baidu.com", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.d("MainActivity", "成功调用Test"+ headers.toString());
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.d("MainActivity", "调用Test失败"+headers+ Arrays.toString(responseBody));
}
});
return client;
}
4.调试:通过打印语句判断请求是否成功(在Manifest中添加完网络权限之后就成功了)
5. 注意点:AsyncHttpClient无需开线程发送请求,否则会报错
Synchronous ResponseHandler used in AsyncHttpClient. You should create your response handler in a looper thread or use SyncHttpClient instead.
6.添加网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
而不是
否则会报错<permission android:name="android.permission.INTERNET"></permission>
Error message 'java.net.SocketException: socket failed: EACCES (Permission denied)'