android網路元件的對比

2021-08-20 01:19:57 字數 2259 閱讀 9027

volley

作為谷歌親兒子,是如何一步步失寵的?一開始同組的同事用,後來大家都不用了

引用很簡單:compile 『com.mcxiaoke.volley:library:1.0.19』

或者直接複製貼上lib庫

然後就可以用stringrequest、jsonobjectrequest或者jsonarrayrequest來傳送請求。

然後網上比較好的封裝思路是:

傳送get請求

傳送post請求

載入網路

上傳但我在實際使用中發現乙個問題,接收到的json內容中包括漢字時會是亂碼用urldecode解析也不行,於是找了找發現,解決方法只有乙個,繼承組建提供的stringrequest,重寫parsenetworkresponse並在其中解析返回值

}所以我想說在這一點上volley不如okhttp好用,而且它已經停止維護了。

需要說明一點,在使用tls2.0時訪問put介面出現正常提交返回異常的問題,此問題有可能與伺服器或者volley有關

retrofit

retrofit和okhttp3它其實是一樣的,retrofit是在okhttp上進行封裝的,使用的是註解方式,使用起來相當方便,並且有很好的擴充套件性。

引用方法:compile 『com.squareup.retrofit2:retrofit:2.0.2』

在retrofit 2.0中,converter 不再包含在package 中了,不插入converter時retrofit 只能接收字串結果,如果啟用需要引入依賴:compile 『com.squareup.retrofit:converter-gson:2.0.2』

這個就是看著複雜,但寫起來還挺容易的,結構上需要建立挺多實體類用於接資料。

目前遇到的乙個問題是,在後端返回值書寫不規範的情況時會報異常

舉個例子:正常返回list 結構為array,異常返回了「」,對返回了乙個空字串,應該返回「{}」就不會報錯了,所以這個元件我建議你和後端商量著來。

picasso與retrofit一樣都是在okhttp基礎之上做的封裝,專案中可以直接用了。

//https證書設定

//預設

//證書

httpsutils.sslparams sslparams = httpsutils.getsslsocketfactory(證書的inputstream, null, null);

//雙向認證

證書的inputstream,

本地證書的inputstream,

本地證書的密碼)

//設定

//訪問https

.sslsocketfactory(sslparams.sslsocketfactory, sslparams.trustmanager)

// .addinterceptor(new loggerinterceptor("tag"))

.connecttimeout(10000l, timeunit.milliseconds)

.readtimeout(10000l, timeunit.milliseconds)

//其他配置

okhttp 和 async http是乙個基礎的通訊庫,都很強大,但需要自己封裝使用才更方便,目前被谷歌官方用在android原始碼中了。

高效能的http庫,支援同步、非同步,而且實現了spdy、http2、websocket協議,api很簡潔易用,和volley一樣實現了http協議的快取。

我遇到的幾個問題是:

call返回時是子執行緒

終止請求困難

Android元件化開源方案對比表

為了讓大家能快速對android元件化有個整體的認識,本文將從多個維度對目前網上一些有代表性的開源元件化開發方案進行對比,從而更好的區分各元件化方案的特點,快速選擇適合自己使用的方案深入學習並使用,在面試中被問到時也能做到心中有數。android平台上元件化開發的概念近兩年非常火熱,有些同學反映在面...

android測試框架對比

最近花了一些時間來調研android的測試框架,除了需要適合做ui測試,還需要保證選取的框架有以下幾點特性 robotium athrun tmts monkeyrunner uiautomator 實際使用後,發現uiautomator沒有提供測試結果報告,這一點是硬傷啊 不過還是有解決辦法的,把...

Android元件介紹

1 所有的元件都是android.view.view中的子類。當有些元件的屬性在本元件內部找不到時,可以到父類中查詢。元件的學習過程就是查詢文件的過程。2.textview 文字元件 靜態的顯示文字。px表示象素。設定文字大小時,必須要帶單位。3.button textview的子類。是特殊的文字元...