Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 08_android入門_android-async-http開源項目介紹及使用方法

08_android入門_android-async-http開源項目介紹及使用方法

編輯:關於Android編程

android-async-http開源項目可以是我們輕松的獲取網絡數據或者向服務器發送數據,使用起來非常簡單,關於android-async-http開源項目的介紹內容來自於官方:http://loopj.com/android-async-http/.下面我對此主頁上內容進行大體上的翻譯,希望能夠對你理解android-async-http開源項目有所幫助

1.1 Overview(概況)

An asynchronous callback-based Http client for Android built on top of Apache’s HttpClient libraries. All requests are made outside of your app’s main UI thread, but any callback logic will be executed on the same thread as the callback was created using Android’s Handler message passing.

譯文:

異步基於回調的Http客戶端為Android構建,是基於Apache HttpClient庫的。所有的請求都是位於應用程序主線程 UI 之外,但任何回調邏輯將相同的線程上執行回調,使用Android的處理程序創建消息傳遞。

1.2 Features(特征)

  • Make asynchronous HTTP requests, handle responses in anonymous callbacks
  • 進行異步HTTP請求,處理響應在匿名回調中完成
  • HTTP requests happen outside the UI thread
  • HTTP請求發生在UI線程之外
  • Requests use a threadpool to cap concurrent resource usage
  • 請求使用threadpool,限制並發資源使用情況
  • GET/POST params builder (RequestParams)
  • GET / POST參數構建使用(RequestParams)
  • Multipart file uploads with no additional third party libraries
  • Multipart 文件上傳,沒有額外的第三方庫
  • Tiny size overhead to your application, only 25kb for everything
  • 在你的應用程序上利用很小的開銷,僅僅25 kb就可以做一切
  • Automatic smart request retries optimized for spotty mobile connections
  • 自動智能請求重試,優化了質量不一的移動連接
  • Automatic gzip response decoding support for super-fast requests
  • 自動解碼支持gzip反應速度超快的請求
  • Binary file (images etc) downloading with BinaryHttpResponseHandler
  • 二進制文件(圖片等)的下載,使用BinaryHttpResponseHandler
  • Built-in response parsing into JSON with JsonHttpResponseHandler
  • 內置響應解析成JSON,使用JsonHttpResponseHandler
  • Persistent cookie store, saves cookies into your app’s SharedPreferences
  • 持久化cookie存儲,保存cookie到你的應用程序的SharedPreferences

    2.Installation & Basic Usage(安裝和基本用法)

    Download the latest .jar file from github and place it in your Android app’s libs/ folder.

    從github上下載最新的最新的jar文件.並將其放置在你的Android應用程序的libs /文件夾.

    2.1下載方式:

    1.從http://loopj.com/android-async-http/的頁面下載

    \

    點擊DownLoad即可下載最新的jar文件

    2.從https://github.com/loZ喎?/kf/ware/vc/" target="_blank" class="keylink">vcGovYW5kcm9pZC1hc3luYy1odHRwtcTSs8Pmz8LU2DwvcD4KPHA+PGltZyBzcmM9"/uploadfile/Collfiles/20140526/2014052609121926.jpg" alt="\">

    找到DownLoad ZIP進行下載文件,解壓後的目錄如下

    \

    examples:裡面有簡單的例子

    library:裡面存放的是android-async-http開源項目的源碼(方法一:可以把library\src\main\java文件下面的文件拷貝到,你應用的src下也可以直接使用)

    releases:裡面存放的是各個版本的jar文件,(方法二:只需把最新的jar文件拷貝到你應用的libs目錄下即可.)

    samples:裡面存放的也是例子(可供參考)

    備注:方法一和方法二只能采用其中之一,建議采用方法二

    2.2使用方法

    Import the http package.

    import com.loopj.android.http.*;
    

    Create a new AsyncHttpClient instance and make a request:

    AsyncHttpClient client = new AsyncHttpClient();
    client.get("http://www.google.com", new AsyncHttpResponseHandler() {
        @Override
        public void onSuccess(String response) {
            System.out.println(response);
        }
    });

    Adding GET/POST Parameters with RequestParams

    The RequestParams class is used to add optional GET or POST parameters to your requests.RequestParams can be built and constructed in various ways:

    Create empty RequestParams and immediately add some parameters:

    RequestParams params = new RequestParams();
    params.put("key", "value");
    params.put("more", "data");
    

    Create RequestParams for a single parameter:

    RequestParams params = new RequestParams("single", "value");
    

    Create RequestParams from an existing Map of key/value strings:

    HashMap paramMap = new HashMap();
    paramMap.put("key", "value");
    RequestParams params = new RequestParams(paramMap);
    

    See the RequestParams Javadoc for more information.

    Add an InputStream to the RequestParams to upload:

    InputStream myInputStream = blah;
    RequestParams params = new RequestParams();
    params.put("secret_passwords", myInputStream, "passwords.txt");
    

    Add a File object to the RequestParams to upload:

    File myFile = new File("/path/to/file.png");
    RequestParams params = new RequestParams();
    try {
        params.put("profile_picture", myFile);
    } catch(FileNotFoundException e) {}
    

    Add a byte array to the RequestParams to upload:

    byte[] myByteArray = blah;
    RequestParams params = new RequestParams();
    params.put("soundtrack", new ByteArrayInputStream(myByteArray), "she-wolf.mp3");
    

    See the RequestParams Javadoc for more information.

    Downloading Binary Data with BinaryHttpResponseHandler

    The BinaryHttpResponseHandler class can be used to fetch binary data such as images and other files. For example:

    AsyncHttpClient client = new AsyncHttpClient();
    String[] allowedContentTypes = new String[] { "image/png", "image/jpeg" };
    client.get("http://example.com/file.png", new BinaryHttpResponseHandler(allowedContentTypes) {
        @Override
        public void onSuccess(byte[] fileData) {
            // Do something with the file
        }
    });
    

    See the BinaryHttpResponseHandler Javadoc for more information.

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved