Android Http庫:Netroid

jopen 10年前發布 | 40K 次閱讀 Netroid Android開發 移動開發

簡介:

Netroid是一個基于Volley 實現的Android Http庫。提供執行網絡請求、緩存返回結果、批量圖片加載、大文件斷點下載的常見Http交互功能。致力于避免每個項目重復開發基礎Http功能,實現顯著地縮短開發周期的愿景。

實現原理:

Netroid自啟動后創建由開發者指定的線程數目,每個線程由 BlockingQueue 進行阻塞。當有新的請求進入隊列時,其中一個線程將被喚醒并獲得請求對象, 然后開始執行,執行完成后線程重新回到阻塞狀態,等待下一次喚醒。Netroid實現了強大的狀態回調接口在請求執行過程中進行通知, 包括開始、完成、成功、重試、失敗、取消、執行網絡操作、應用緩存、下載進度九種狀態回調,開發者可方便地獲取請求的執行情況,對用戶進行友好提醒。

注:Netroid的線程池不具備伸縮功能,創建后所有線程均處于啟用狀態,不支持動態調整。

文檔組成:

快速實現將Netroid集成到應用中。

了解Netroid在應用中的典型代碼寫法。

Netroid中的各種內部組件及其使用方法的詳細解釋。

了解請求執行類的細節,定制請求處理方式,各種請求場景的實現方法。

了解圖片加載器的功能點及其使用方法。

了解Netroid提供的文件斷點下載組件的功能。

了解Netroid所有接口的細節。

也可直接點擊下載演示程序查看運行效果。

示例:

String url = "http://server.domain/string.do";
StringRequest request = new StringRequest(Request.Method.GET, url, new Listener<String>() {
    @Override
    public void onSuccess(String response) {
        Toast.makeText(Activity.this, "response : " + response, 2000).show();
    }

    @Override
    public void onError(NetroidError error) {
        Toast.makeText(Activity.this, "error occurred : " + error.getMessage(), 2000).show();
    }
});

// 設置請求Header
request.addHeader("Accept-Encoding", "gzip, deflate");
RequestQueue.add(request);

項目主頁:http://www.baiduhome.net/lib/view/home/1402825446810

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!