使用AsyncHttpClient 实现get和post请求
来源:互联网 发布:mac网页图片显示问号 编辑:程序博客网 时间:2024/04/30 07:02
AsyncHttpClient简介:
AsyncHttpClient庫 基於Apache的HttpClient框架,是一個異步的httpClient, 所有的http請求都在子線程中,但是callback執行的線程和創建這個callback的線程是同一個(也即主線程創建的callback那麼執行的時候也是在主線程中)。
实现get和post请求:
public class MainActivity extends Activity {private EditText usernameET;private EditText passwordET;private AsyncHttpClient client;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);usernameET = (EditText) this.findViewById(R.id.UsernamET);passwordET = (EditText) this.findViewById(R.id.PaswordET);client = new AsyncHttpClient();}public void get(View v) throws Exception{String username = usernameET.getText().toString().trim();String password = passwordET.getText().toString().trim();String path = "";String params = "username=" + URLEncoder.encode(username, "UTF-8") + "&password="+ URLEncoder.encode(password, "UTF-8");client.get(path+"?"+params, new AsyncHttpResponseHandler() {@Overridepublic void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), "登陆成功", Toast.LENGTH_SHORT).show();}@Overridepublic void onFailure(int statusCode, Header[] headers,byte[] responseBody, Throwable error) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), "登陆失败", Toast.LENGTH_SHORT).show();}});}public void post(View v){String username = usernameET.getText().toString().trim();String password = passwordET.getText().toString().trim();String path = "";RequestParams params = new RequestParams();params.put("username", username);params.put("password", password);client.post(path, params, new AsyncHttpResponseHandler() {@Overridepublic void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), "登陆成功", Toast.LENGTH_SHORT).show();}@Overridepublic void onFailure(int statusCode, Header[] headers,byte[] responseBody, Throwable error) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), "登陆失败", Toast.LENGTH_SHORT).show();}});}}
public void onClick(View v){String path = pathText.getText().toString().trim();client.get(path, new AsyncHttpResponseHandler() {@Overridepublic void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {// TODO Auto-generated method stubBitmap image = BitmapFactory.decodeByteArray(responseBody, 0, responseBody.length);Image.setImageBitmap(image);Toast.makeText(getApplicationContext(), "获取成功", Toast.LENGTH_SHORT).show();}@Overridepublic void onFailure(int statusCode, Header[] headers,byte[] responseBody, Throwable error) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), "获取失败", Toast.LENGTH_SHORT).show();}});}
当然,这个是最基础的用法了,之后会有关于AsyncHttpClient的上传和下载等用法
0 0
- 使用AsyncHttpClient 实现get和post请求
- 使用AsyncHttpClient 实现get和post请求
- android(21)(使用HttpURLConnection,HttpClient和AsyncHttpClient分别实现post和get请求数据)
- AsyncHttpClient get、post请求
- AsyncHttpClient 、HttpURLConnection get/post请求、httpClient
- 使用HttpClient实现Post请求和Get请求
- 使用retrofit2.0实现网络请求post和get请求
- 使用AsyncHttpClient提交数据get-post
- PHP中使用CURL实现GET和POST请求
- PHP中使用CURL实现GET和POST请求
- 使用OC进行实现GET和POST请求
- PHP中使用CURL实现GET和POST请求(详细)
- PHP中使用CURL实现GET和POST请求
- PHP中使用CURL实现GET和POST请求
- python 使用requests 实现 post 和get请求
- PHP中使用CURL实现GET和POST请求
- PHP中使用CURL实现GET和POST请求
- PHP使用CURL实现POST和GET请求详解
- 递归及递推问题系列之 报数问题
- OC中字符串的简单操作
- 杭电4081 Qin Shi Huang's National Road System(次小生成树)
- poj 3277 City Horizon 线段树加上离散化
- 关于android:launchMode 的有趣现象
- 使用AsyncHttpClient 实现get和post请求
- HDU 4946 Area of Mushroom 凸包 第八次多校
- hdu 1501 Zipper(记忆化DFS)
- HDU 4951 Multiplication table 阅读题
- Oracle创建用户表空间授权
- 存储关于带内管理和带外管理概念
- HDU1007 Quoit Design 求最小距离
- HashMap的keySet遍历和entrySet遍历时间效率比较
- 最新版express使用时的变化