使用AsyncHttpClient 实现get和post请求
来源:互联网 发布:设计房间的软件 编辑:程序博客网 时间:2024/05/21 11:12
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;
- @Override
- protected 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() {
- @Override
- public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
- // TODO Auto-generated method stub
- Toast.makeText(getApplicationContext(), "登陆成功", Toast.LENGTH_SHORT)
- .show();
- }
- @Override
- public void onFailure(int statusCode, Header[] headers,
- byte[] responseBody, Throwable error) {
- // TODO Auto-generated method stub
- Toast.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() {
- @Override
- public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
- // TODO Auto-generated method stub
- Toast.makeText(getApplicationContext(), "登陆成功", Toast.LENGTH_SHORT)
- .show();
- }
- @Override
- public void onFailure(int statusCode, Header[] headers,
- byte[] responseBody, Throwable error) {
- // TODO Auto-generated method stub
- Toast.makeText(getApplicationContext(), "登陆失败", Toast.LENGTH_SHORT)
- .show();
- }
- });
- }
- }
- public void onClick(View v){
- String path = pathText.getText().toString().trim();
- client.get(path, new AsyncHttpResponseHandler() {
- @Override
- public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
- // TODO Auto-generated method stub
- Bitmap image = BitmapFactory.decodeByteArray(responseBody, 0, responseBody.length);
- Image.setImageBitmap(image);
- Toast.makeText(getApplicationContext(), "获取成功", Toast.LENGTH_SHORT)
- .show();
- }
- @Override
- public void onFailure(int statusCode, Header[] headers,
- byte[] responseBody, Throwable error) {
- // TODO Auto-generated method stub
- Toast.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请求详解
- 上传文件至服务器Demo
- 模仿qq的抽屉view
- 关于学习C++的一些小心得⑴
- C语言--结构体
- php排序
- 使用AsyncHttpClient 实现get和post请求
- makefile学习 (2) —— autotools生成makefile
- RESTFUL服务中POST/PUT/PATCH方法的区别
- 安装OFFICE 2010出错提示ERROR 1046的解决方法
- HttpURLConnection解析
- JavaScript窗口与提示大全
- struts2中使用Iterator标签
- 第九周项目第几天
- Ajax