1. 程式人生 > >android使用AsyncHttpClient開源專案進行非同步網路請求

android使用AsyncHttpClient開源專案進行非同步網路請求

來自《Android移動應用基礎教程》裡面

1. 到githup上面下載AsyncHttpClient原始碼,https://github.com/loopj/android-async-http

我下載的是android-async-http-master.zip,解壓後就得到了AsyncHttpClient的原始碼,可以把原始碼拷貝到android專案的src資料夾下使用,也可以在releases資料夾下找到android-async-http-1.4.8.jar,將其拷貝到android工程的libs資料夾下進行使用。(可能會有版本差異)

2.AsyncHttpClient常用類

AsyncHttpClient:用來訪問網路的類

RequestParams:用於新增引數的類

AsyncHttpResponseHandler:訪問網路後回撥的介面

如果要使用AsyncHttpClient,首先要建立AsyncHttpClient的例項,然後設定引數,接著通過AsyncHttpClient的例項物件訪問網路。如果訪問成功則會回撥AsyncHttpResponseHandler介面中的OnSucess方法,失敗則會回撥OnFailure方法。

3.例如:

  //建立AsyncHttpClient的例項
  AsyncHttpClient httpClient = new AsyncHttpClient();
  //拼裝URL,注意要將引數編碼
  String path = "http://192.168.1.100:8080/web/LoginServlet?username="
    + URLEncoder.encode("zhangsan") + "&password="
    + URLEncoder.encode("1234");
  //GET方式請求網路
  httpClient.get(path, new AsyncHttpResponseHandler() {
   
   //訪問網路成功
   @Override
   public void onSuccess(int arg0, Header[] arg1, byte[] content) {
    String str = new String(content);
    Toast.makeText(MainActivity.this, "請求成功" + str, 0).show();
   }
   
   @Override
   public void onFailure(int arg0, Header[] arg1, byte[] content, Throwable arg3) {
    Toast.makeText(MainActivity.this, "請求失敗" + new String(content), 0).show();
   }
  });
  
  //Post方式訪問網路
  AsyncHttpClient httpClient2 = new AsyncHttpClient();
  //訪問地址
  String urlstr = "http://192.168.1.100:8080/web/loginServlet";
  //用於新增引數
  RequestParams params = new RequestParams();
  //新增引數
  params.put("name", "張三");
  params.put("password", "12345");
  //訪問網路
  httpClient2.post(urlstr, new AsyncHttpResponseHandler() {
   //訪問成功
   @Override
   public void onSuccess(int arg0, Header[] arg1, byte[] responseBody) {
    Toast.makeText(MainActivity.this, "請求成功" + new String(responseBody), 0).show();
   }
   
   @Override
   public void onFailure(int arg0, Header[] arg1, byte[] responseBody, Throwable arg3) {
    Toast.makeText(MainActivity.this, "請求失敗" + new String(responseBody), 0).show();
   }
  });

相關推薦

android使用AsyncHttpClient開源專案進行非同步網路請求

來自《Android移動應用基礎教程》裡面 1. 到githup上面下載AsyncHttpClient原始碼,https://github.com/loopj/android-async-http 我下載的是android-async-http-master.zip,解壓後

定義內部類 繼承 AsyncTask 來實現非同步網路請求

//非同步任務處理 //建立內部類,來實現網路非同步請求 //新建內部類 繼承 AsyncTask @SuppressLint("StaticFieldLeak") class RequestNetworkDataTask extends AsyncTask&l

專案諮詢——post網路請求

public class PostRequestActivity extends AppCompatActivity { private Button query; private EditText input; private TextView info; p

Android Asynchronous Http Client-Android非同步網路請求客戶端介面

1.簡介Android中網路請求一般使用Apache HTTP Client或者採用HttpURLConnect,但是直接使用這兩個類庫需要寫大量的程式碼才能完成網路post和get請求,而使用android-async-http這個庫可以大大的簡化操作,它是基於Apach

使用RxAndroid配合MVP模式實現非同步網路請求,更新ui

各位好,寫這篇文章主要是我在工作時發現了一個問題,現在使用RxAndroid解決了。 問題是: 我工作的專案是使用mvp模式寫的,(關於什麼是mvp,可參考:http://blog.csdn.net/lmj623565791/article/details/4659610

fetch發起promise非同步網路請求的個人小記

fetch發起非同步網路請求 //fetch請求連結立即返回一個promise物件;promise被通過,返回response物件,再通過response.json()返回的也是一個promise物件

Android非同步網路請求--AsyncHttpClient

Android中網路請求一般使用Apache HTTP Client或者採用HttpURLConnect,但是直接使用這兩個類庫需要寫大量的程式碼才能完成網路post和get請求,而使用android-async-http這個庫可以大大的簡化操作,它是基於Apa

React專案中使用 jQuery的 ajax進行非同步請求操作

import React, { Component} from 'react'; import $ from 'jquery'; import Cropper from 'react-cropper'; //import 'cropperjs/dist/cropper.cs

通過代理模式,對第三方網路請求框架進行封裝,實現任意切換網路框架

 最近在網上學習了一篇課程,講的是通過代理模式對第三方框架進行封裝。 感覺講的很不錯,受益良多,特此記錄。 首先什麼是代理模式? 代理模式就是:為其他物件提供一種代理,以控制對這個物件的訪問。 舉個例子:沒空下去吃飯,找個同事幫忙買飯就是代理模式;平常租房子, 嫌麻

安卓專案實戰之強大的網路請求框架okGo使用詳解(六):擴充套件專案okServer,更強大的下載上傳功能,支援斷點和多工管理

OkGo與OkDownload的區別就是,OkGo只是簡單的做一個下載功能,不具備斷點下載,暫停等操作,但是這在很多時候已經能滿足需要了。 而有些app需要有一個下載列表的功能,就像迅雷下載一樣,每個下載任務可以暫停,可以繼續,可以重新下載,可以有下載優先順序,這時候OkDownload就有

安卓專案實戰之強大的網路請求框架okGo使用詳解(五):擴充套件專案okRx,完美結合RxJava

前言 在第一篇講解okGo框架新增依賴支援時,還記得我們額外新增的兩個依賴嗎,一個okRx和一個okServer,這兩個均是基於okGo框架的擴充套件專案,其中okRx可以使請求結合RxJava一起使用,而okServer則提供了強大的下載上傳功能,如斷點支援,多工管理等,本篇我們主要講

安卓專案實戰之強大的網路請求框架okGo使用詳解(四):Cookie的管理

Cookie概念相關 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於採用伺服器端保持狀態的方案在客戶端也需要儲存一個標識,所以session機制是需要藉助於cookie機制來達到儲存標識的目的,所謂ses

安卓專案實戰之強大的網路請求框架okGo使用詳解(三):快取的使用

相關實體類必須實現序列化介面 使用快取前,必須讓涉及到快取javaBean物件實現Serializable介面,否者會報NotSerializableException。因為快取的原理是將物件序列化後直接寫入資料庫中,如果不實現Serializable介面,會導致物件無法序列化,進而無法

安卓專案實戰之強大的網路請求框架okGo使用詳解(二):深入理解Callback之自定義JsonCallback

前言 JSON是一種取代XML的資料結構,和xml相比,它更小巧但描述能力卻不差,由於它的小巧所以網路傳輸資料將減少更多流量從而加快了傳輸速度,目前客戶端伺服器返回的資料大多都是基於這種格式的,相應的我們瞭解的關於json的解析工具主要有兩個:Gson(Google官方出的)和fas

安卓專案實戰之強大的網路請求框架okGo使用詳解(一):實現get,post基本網路請求,下載上傳進度監聽以及對Callback自定義的深入理解

1.新增依賴 //必須使用 compile 'com.lzy.net:okgo:3.0.4' //以下三個選擇新增,okrx和okrx2不能同時使用,一般選擇新增最新的rx2支援即可 compile 'com.lzy.net:okrx:1.0.2' compile 'com.lzy

Android中的Https網路請求get和post 不進行認證

HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer)是通過證書認證、資料加密打造的一條安全的HTTP通道,也就是安全版HTTP,一般在金融行業用到的比

五分鐘讀懂原始碼——Square開源網路請求庫OkHttp的工作原理解析

前言 說句廢話,作為一個工作幾年的程式設計師,在日常工作中,難免會用一些三方封裝庫,來方便我們的開發,但是不能僅僅會用就滿足,我們還了解它的工作原理。 正文 轉入正題,看到本文的朋友應該知道了OK給出的API的基本呼叫(本文不對基本使用做介紹,有需要自行看https://gi

一個網路請求/響應發生時,都經過哪些?瀏覽器輸入查詢,伺服器響應結果,是如何進行的?TCP/IP 分層協議,埠號作用

    在網路上,通訊的雙方通常都是要經過多臺計算機或者網路裝置中轉才能連線到對方。而在進行中轉時,會利用下一站中轉裝置的MAC地址來搜尋下一個中轉目標,這時我們就是靠ARP協議來進行處理。 兩張圖,完美解析: 資料來源:OSI七層與TCP/IP五層網路

C++網路程式設計方面的開源專案

Webbench是一個在linux下使用的非常簡單的網站壓測工具。它使用fork()模擬多個客戶端同時訪問我們設定的URL,測試網站在壓力下工作的效能,最多可以模擬3萬個併發連線去

利用Fiddler對Android模擬器網路請求進行抓包

1.安裝使用Fiddler 下載地址:https://www.telerik.com/download/fiddler 2.安裝Android模擬器夜神 下載地址:https://www.yeshen.com/ 3. 開啟Fiddler進行相關設定 設定捕獲https,開啟Fid