android中volley通訊框架簡介
1. 什麼是Volley?
在這之前,我們在程式中需要和網路通訊的時候,大體使用的東西莫過於AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,在2013年Google I/O 上,Volley釋出了。Volley是Android平臺上的網路通訊庫,能使網路通訊更快,更簡單,更健壯。
2. Volley引入的背景
比如在以前從網上下載圖片的步驟可能是這樣的流程:
- 在ListAdapter#getView()裡開始影象的讀取。
- 通過AsyncTask等機制使用HttpURLConnection從伺服器去的圖片資源
- 在AsyncTask#onPostExecute()裡設定相應ImageView的屬性。
再比如,螢幕旋轉的時候,有時候會導致再次從網路取得資料。為了避免這種不必要的網路訪問,我們可能需要自己寫很多針對各種情況的處理,比如cache什麼的。
再有,比如ListView的時候,我們滾動過快,可能導致有些網路請求返回的時候,早已經滾過了當時的位置,根本沒必要顯示在list裡了,雖然我們可以通過ViewHolder來保持url等來實現防止兩次取得,但是那些已經沒有必須要的資料,還是會浪費系統的各種資源
3. 提供的功能
- JSON,影象等的非同步下載;
- 網路請求的排序(scheduling)
- 網路請求的優先順序處理
- 快取
- 多級別取消請求
- 和Activity和生命週期的聯動(Activity結束時同時取消所有網路請求)
Volley可是說是把AsyncHttpClient和Universal-Image-Loader的優點集於了一身,既可以像AsyncHttpClient一樣非常簡單地進行HTTP通訊,也可以像Universal-Image-Loader一樣輕鬆載入網路上的圖片。除了簡單易用之外,Volley在效能方面也進行了大幅度的調整,它的設計目標就是非常適合去進行資料量不大,但通訊頻繁的網路操作,而對於大資料量的網路操作,比如說下載檔案等,Volley的表現就會非常糟糕。
下圖所示的這些應用都是屬於資料量不大,但網路通訊頻繁的,因此非常適合使用Volley。
下一篇繼續介紹volley的網路請求.........
相關推薦
android中volley通訊框架簡介
1. 什麼是Volley? 在這之前,我們在程式中需要和網路通訊的時候,大體使用的東西莫過於AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,在2013年Google I/O 上,Volley釋出了。Volley是A
Android中的Volley通訊框架
首先使用Volley類建立 RequestQueue queue = Volley.newRequestQueue(this); Making GET Requests <span style="font-size:14px;">final String url = "http://httpb
Android中使用開源框架EventBus3.0實現Fragment之間的通訊互動
1.概述 在之前的博文中簡單介紹過如何實現fragment之間的資訊互動:《Android中Fragment與Activity之間的互動(兩種實現方式)》,今天繼續給大家介紹一種可以實現此效果的另外一種方式EventBus。(相比於handler,介面回撥,bundle傳參
Android中Volley框架Get,POST封裝使用及自動解析JSON
DEMO下載地址:http://download.csdn.net/detail/song2810106/9471616 網路請求使用的Volley.Jar.Json解析使用的谷歌的Gson,此封裝可以 重複呼叫 一個網路請求,並可以自動解析JSON為一個物件,我們都知
Android 進階 教你打造 Android 中的 IOC 框架 【ViewInject】 (下)
本篇部落格將帶大家實現View的事件的注入。 1、目標效果 上篇部落格,我們的事件的程式碼是這麼寫的: package com.zhy.zhy_xutils_test; import android.app.Activity; import android.os.Bund
Android中Https通訊實現_ 單向認證
客戶端與服務端單向認證即是在客戶端的網路請求和webview中設定信任所有證書,然後在與服務端進行Https網路通訊的時候,客戶端不必進行證書校驗也能進行網路通訊,否則就會報證書不受信異常。 缺陷:容易受到中間人攻擊。 概覽 TrustManager和Hos
Android中Https通訊實現_瞭解Https
概覽 什麼是Https Https和Http的區別 Https證書 什麼是Https HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是
在android中使用OkHttp框架處理網路請求
OkHttp網路處理框架,分成下面幾個使用過程: 1.Get: 同步Get private final OkHttpClient client = new OkHttpClient(); public void run() throws Exception {
Android中Https通訊實現_中間人攻擊、DNS欺騙和會話劫持
上一篇文章記述了在Android中使用Https進行單向認證的配置,但單向認證存在中嚴重的安全漏洞,其中最容易受到中間人攻擊和DNS欺騙以及會話劫持,本文主要講述進行中間人攻擊、DNS欺騙和會話劫持的方式。 概覽 什麼是中間人攻擊 模擬中間人攻擊
Android中Socket通訊的簡單實現
前言Android Framework 層程式碼中大量使用了 Binder IPC 通訊方式,除此之外,Socket 也是一種重要的 IPC 通訊方式,比如StorageManagerService(8.0 之前叫 MountService)與 Vold 之前的通訊,Syst
Android中圖片載入框架Picasso的使用
技術要點 基本顯示(非同步載入,圖片壓縮,圖片快取) 載入中和載入錯誤的圖片顯示 設定圖片尺寸(Resize)、縮放(Scale)和裁剪(Crop) 圖片旋轉 設定轉換器 取消預設的記憶體快取 設定快取指示器 請求優先順序設定 圖片還未加載出來時取消
Android中熱修復框架Robust原理解析+並將框架程式碼從"閉源"變成"開源"(上篇)
一、前言Android中熱修復框架比較多,每家公司都有對應的方案和框架,比如阿里的AndFix框架,關於這個框架在之前的文章已經詳細講解了,不瞭解的同學可以點選這裡:AndFix熱修復框架原理分析 。本
在Android中使用IOC框架讓程式碼更清爽
控制反轉(Inversion of Control,英文縮寫為IoC)是一個重要的面向對角程式設計的法則來削減計算機程式的耦合問題,也是輕量級的Spring框架的核心。 控制反轉一般分為兩種型別,依賴注入(Dependency Injection,簡稱DI)和依賴查詢
Android 網路通訊框架Volley簡介(Google IO 2013)
1. 什麼是Volley在這之前,我們在程式中需要和網路通訊的時候,大體使用的東西莫過於AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Volley釋出了。
Android中基於HTTP的通訊技術(5)Google開源庫 使用 Volley 實現 JSON 字串請求
使用 Volley 實現 JSON 字串請求,通過極少的程式碼以及更方便理解的引數完成通訊。 (來自極客學院的學習筆記,我是搬運工- -) Volley是谷歌開發android平臺的網路通訊庫:更
Android 谷歌 開源 通訊框架 VOLLEY(六)——應用例項
五、應用例項 package com.example.test; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.vo
Android 谷歌 開源 通訊框架 VOLLEY(一)
HTTP 是應用層協議,TCP 是傳輸層協議(位於應用層之下)。 一般來說,移動應用推薦使用 HTTP 協議,有很多優點: 1. HTTP 發展成熟 HTTP 幾乎已經快成為一種通用的 Web 標準,Web Services、Open AP
Android 網路通訊框架Volley完全解析(一)
Volley簡介及Request基本用法 Google I/O 2013上,Volley釋出了。Volley是Android平臺上的網路通訊庫,能使網路通訊更快,更簡單,更健壯。這是Volley名
Android中 網路框架Volley的用法
Volley是在Google I/O 2013上釋出的一框網路通訊http模組,新版本的Android已經廢除了HttpClient的使用,目前主流的android網路通訊庫有:Async-Http、NoHttp、xUtil等。本文就自己學習了Volley一些相
android Volley網路通訊框架學習
1. 什麼是Volley 在這之前,我們在程式中需要和網路通訊的時候,大體使用的東西莫過於AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,Google I/O 2013上,Volley釋出了。Vo