2015-08-15 55 views
0

最近我開始學習android。現在我想知道有關android中的Web服務的信息。如何加速Android中的Web服務?

  1. 哪個web服務在android中很快?

  2. 我們需要使用任何庫來實現Web服務的快速性?

我的主要目標是減少Web服務加載時間。

今天我觀察到網絡服務在API水平以下需要更多的時間,而在以上的API水平有所提高。

請任何人建議我如何減少Web服務負載。

+0

我所有的web服務都是基於json的web服務。在我的啓動畫面中,我打電話給5個Web服務,所以啓動畫面花費了很多時間。如果它在高級別的API中沒問題,但它在下面的API中花費的時間太多。請幫幫我 –

回答

0

如果您認爲可以使用圖書館,那麼您可以考慮使用Square Retrofit。通過測試一些基準測試,在與異步任務一起考慮時,它非常快速。你也可以看看凌空,這也是一種選擇,但我會建議Retrofit的易用性。你可以考慮下面的文章中的一些指標。

Android Async HTTP Clients: Volley vs Retrofit

0

基於JSON的Web服務比XML或任何其他格式都要輕量,所以即使在低網絡連接性中,您也可以獲得相當不錯的性能。

這裏是一個示例代碼使用JSON基於Web服務連接

JSONObject jsonObj = new JSONObject(); 
    jsonObj.put("username", username); 
    jsonObj.put("data", dataValue); 

    // Create the POST object and add the parameters 
    HttpPost httpPost = new HttpPost(url); 
    StringEntity entity = new StringEntity(jsonObj.toString(), HTTP.UTF_8); 
    entity.setContentType("application/json"); 
    httpPost.setEntity(entity); 

    HttpClient client = new DefaultHttpClient(); 
    HttpResponse response = client.execute(httpPost); 

它總是更好地使裏面的AsyncTask網絡調用,這樣就可以顯示進度條,而你正在處理Web服務