012_02 asynchttpClient用户登录
2015-05-22 12:54
357 查看
android-async-http是专门针对Android在Apache的HttpClient基础上构建的异步的callback-based http client。
所有的请求全在UI线程之外发生,而callback发生在创建它的线程中,应用了Android的Handler发送消息机制。你也可
以把AsyncHttpClient应用在Service中或者后台线程中,库代码会自动识别出它所运行的context。
使用android-async-http只需要三步:
1. 创建一个AsyncHttpClient;
2. (可选的)通过RequestParams对象设置请求参数;
3. 调用AsyncHttpClient的某个get方法,传递你需要的(成功和失败时)callback接口实现,一般都是匿名内部类
项目的官方网站:http://loopj.com/android-async-http/
对应的github地址:https://github.com/loopj/android-async-http
需要导入的第三方开源包com.loopj.android.http
activity_main.xml和 MyEclipse服务器端代码与 012_01HttpClient用户登录 相同。
所有的请求全在UI线程之外发生,而callback发生在创建它的线程中,应用了Android的Handler发送消息机制。你也可
以把AsyncHttpClient应用在Service中或者后台线程中,库代码会自动识别出它所运行的context。
使用android-async-http只需要三步:
1. 创建一个AsyncHttpClient;
2. (可选的)通过RequestParams对象设置请求参数;
3. 调用AsyncHttpClient的某个get方法,传递你需要的(成功和失败时)callback接口实现,一般都是匿名内部类
项目的官方网站:http://loopj.com/android-async-http/
对应的github地址:https://github.com/loopj/android-async-http
需要导入的第三方开源包com.loopj.android.http
package com.example.day12_02login; import java.net.URLEncoder; import org.apache.http.Header; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.AsyncHttpResponseHandler; import com.loopj.android.http.RequestParams; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } Handler hanlder = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: Toast.makeText(MainActivity.this, (String)msg.obj, 1).show(); break; case 2: Toast.makeText(MainActivity.this, (String)msg.obj, 0).show(); break; default: break; } } }; class Myhandle extends AsyncHttpResponseHandler{ //200 进入 @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { //这个里面表示链接成功。 //应该在这里个去处理成功之后的事情。 System.out .println("MainActivity.login(...).Myhandle.onSuccess()"+statusCode); Toast.makeText(MainActivity.this, new String(responseBody) , 1).show(); } //!200进入 @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { } } //Async http client 的get请求 public void login(View v){ EditText et_username = (EditText) findViewById(R.id.et_uername); EditText et_password = (EditText) findViewById(R.id.et_password); final String username= et_username.getText().toString(); final String password= et_password.getText().toString(); //http://localhost/LoginDemo/servlet/Login?username=wangdao&password=123456 String path = "http://192.168.3.30:8080/LoginDemo/servlet/Login?username="+URLEncoder.encode(username)+"&password="+password; AsyncHttpClient asyncHttpClient = new AsyncHttpClient(); asyncHttpClient.get(path, new Myhandle()); } //Async http client Post 请求实现 public void login2(View v){ EditText et_username = (EditText) findViewById(R.id.et_uername); EditText et_password = (EditText) findViewById(R.id.et_password); final String username= et_username.getText().toString(); final String password= et_password.getText().toString(); //http://localhost/LoginDemo/servlet/Login //发请求的线程 String path = "http://192.168.3.30:8080/LoginDemo/servlet/Login"; AsyncHttpClient asyncHttpClient = new AsyncHttpClient(); RequestParams rp= new RequestParams(); rp.put("username", username); rp.put("password", password); asyncHttpClient.post(path, rp, new Myhandle()); } }
activity_main.xml和 MyEclipse服务器端代码与 012_01HttpClient用户登录 相同。
相关文章推荐
- 012_01HttpClient用户登录
- Android 通过httpclient请求web服务器,并解决用户登录session保持
- apache HttpClient 4.3.4自动登录并抓取中国联通网页用户基本信息和账单数据
- android httpclient处理用户登录例子 广州JAVA培训
- Android 通过httpclient请求web服务器,并解决用户登录session保持
- Android 通过httpclient请求web服务器,并解决用户登录session保持
- Android 通过httpclient请求web服务器,并解决用户登录session保持
- 【自动化测试】HttpClient 模拟用户登录与请求接口完成自动化测试
- angular2 HttpClient判断用户是否登录,来控制路由的跳转
- 使用POST、GET、AsyncHttpClient创造服务端用手机端来连接进行登录
- Android AsyncHttpClient登录保存cookie和读写cookie
- AsyncHttpClient 登录 Application Fragment 回调 监听 软键盘
- Android AsyncHttpClient登录保存cookie和读写cookie
- android httpclient处理用户登录例子
- android----AsyncHttpClient的get,post和图片上传
- 轻松把玩HttpAsyncClient之模拟post请求示例
- okhttpclient登录
- AsyncHttpClient 加载图片
- 安卓实训第三天---简单的用户登录界面,用HTTPURLConnection实现与服务器的连接
- 关于AsyncHttpClient使用