使用AsyncHttpClient 实现get和post请求
2014-08-14 17:34
597 查看
AsyncHttpClient简介:
AsyncHttpClient庫 基於Apache的HttpClient框架,是一個異步的httpClient, 所有的http請求都在子線程中,但是callback執行的線程和創建這個callback的線程是同一個(也即主線程創建的callback那麼執行的時候也是在主線程中)。
实现get和post请求:
使用AsyncHttpClient实现网络图片的读取:
当然,这个是最基础的用法了,之后会有关于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(); } }); } }
使用AsyncHttpClient实现网络图片的读取:
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的上传和下载等用法
相关文章推荐
- 使用AsyncHttpClient 实现get和post请求
- android(21)(使用HttpURLConnection,HttpClient和AsyncHttpClient分别实现post和get请求数据)
- android使用Apache HttpClient实现get/post的请求
- 使用AsyncHttpClient进行get与post请求
- 使用HttpClient实现Post请求和Get请求
- Android中使用HttpURLConnection和HttpClient实现GET和POST请求访问网络
- WebApi系列~实际项目中如何使用HttpClient向web api发异步Get和Post请求并且参数于具体实体类型
- 使用开源框架AsyncHttpClient进行Json的Post请求
- Android用Apache HttpClient 实现POST和Get请求
- PHP中使用cURL实现Get和Post请求的方法
- android使用HttpClient实现post get (+1)
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- PHP中使用cURL实现Get和Post请求的方法
- PHP中使用cURL实现Get和Post请求的方法
- php使用curl 实现GET和POST请求(抓取网页,上传文件),支持跨项目和跨服务器
- Android——HttpClient 实现POST和Get请求,Connection链接
- PHP中使用cURL实现Get和Post请求的方法
- PHP中使用cURL实现Get和Post请求的方法
- Android HTTP实例 使用GET方法和POST方法发送请求(通过Apache接口实现)
- httpClient使用,1 发送post请求 2 发送get请求取得接口中的数据