使用第三方框架实现异步的HttpClient

来源:互联网 发布:漫画打印排版软件 编辑:程序博客网 时间:2024/05/20 03:06

这篇博客将介绍使用第三方框架实现异步的HttpClient

首先到http://download.csdn.net/detail/u010105970/9498649中下载异步的HttpClient框架android-async-http-master,下载完成后会获得一个压缩包



使用eclipse创建一个android工程,并且将压缩包解压,解压后进入com目录下



将loopj文件夹拷贝到创建好的android工程中的com文件夹中



核心代码,其实就是修改MainActivity.java如下,其他部分的代码和我的上一篇博客使用HttpClient实现Post请求和Get请求中的代码一样

package com.fyt.ansydemo;import java.net.URLEncoder;import org.apache.http.Header;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.Toast;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.AsyncHttpResponseHandler;import com.loopj.android.http.RequestParams;public class MainActivity extends Activity {private EditText et_username;private EditText et_password;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获得布局文件上的用户名输入框和密码输入框et_username = (EditText)findViewById(R.id.et_username);et_password = (EditText)findViewById(R.id.et_password);}//使用get方式发送数据到服务器public void get(View view) {//获得用户输入的用户名和密码final String username = et_username.getText().toString();final String password = et_password.getText().toString();//设置网址//设置网址        final String url = "http://192.168.0.101:8080/WebProject/servlet/LoginServlet" +                "?username=" + URLEncoder.encode(username) + "&" + "password=" + password;                //创建异步的HttpClient        AsyncHttpClient ahc = new AsyncHttpClient();                //发送get请求提交数据        ahc.get(url, new MyResponseHandler());}//使用post方式发送数据到服务器public void post(View view) {//获得用户输入的用户名和密码    final String username = et_username.getText().toString();    final String password = et_password.getText().toString();        //设置url地址    String url = "http://192.168.0.101:8080/WebProject/servlet/LoginServlet";        //创建异步httpclient    AsyncHttpClient ahc = new AsyncHttpClient();        //发送post请求提交数据    //把要提交的数据封装至RequestParams对象    RequestParams params = new RequestParams();    params.add("username", username);    params.add("password", password);        ahc.post(url, params, new MyResponseHandler());}//创建一个内部类class MyResponseHandler extends AsyncHttpResponseHandler {//请求服务器成功时,此方法被调用@Overridepublic void onSuccess(int statusCode, Header[] headers,byte[] responseBody) {//创建吐司对话框用于显示提示信息Toast.makeText(MainActivity.this, new String(responseBody), Toast.LENGTH_SHORT).show();}//请求失败此方法调用@Overridepublic void onFailure(int statusCode, Header[] headers,byte[] responseBody, Throwable error) {Toast.makeText(MainActivity.this, "请求失败", Toast.LENGTH_SHORT).show();}}}

0 0
原创粉丝点击