2015-11-24 32 views
-1

我想在我的應用程序中實現一個服務(Web服務)調用。 我在這裏阻塞了一段時間。以前我跟着下面的一些概念。 像,AsyncTask類,線程概念和處理程序。哪一個是實現異步服務調用的最佳方法android

最近我聽說Retrofit

根據經驗,改造效果良好,性能卓越。 但它不是很可靠。 例子:

{ 
     "Tag1":"Tag Value", 
     "TagArray":[ {"key1":"value","key2":"value"},{"key1":"value","key2":"value"},{"key1":"value","key2":"value"} ] 
    } 

POJO:

public class Data{ 
String key1,key2; 

sterres... 

getters.. 

} 

如果響應有沒有隻需要我們需要在我們的應用程序I,E一些其他的標籤和內部數據。 「TagArray」。 我只需要處理這個響應。

在這種類型的情況下,這種改造失敗了。

是否有任何其他庫或任何其他組件在android中實現高性能的服務調用存在。

回答

0

您可以添加POJO'或豆'字段@Optional。這個選項來自GSON,它在默認情況下用於Retrofit。

編輯:

public class ExamplePojo implements Serializable { 

@SerializedName("TagArray") 
public ArrayList<Keys> TagArray; 

public ExamplePojo() { 
    TagArray = new ArrayList<>(); 
} 

    public static class Keys{ 
     @SerializedName("key1") 
     public String key1; 

     @SerializedName("key2") 
     public String key2; 
    } 
} 

你忽略不應該對POJO類或以上提到的添加的屬性,添加可選的註釋,如果它可以爲null。

+0

謝謝埃姆雷Akturk給予的迴應,我有POJO數據裏面的「TagArray」我需要我的POJO列表。有沒有任何減法的方法只保留上述響應的列表? –

+0

我編輯答案。你可以檢查出來。 –

+0

我已經在上面提到過了,那就是我不想在我的應用程序中包含不必要的代碼。我不想再添加「TagArray」鍵,只需要它的數據和表單列表。 (列表 listData;) 我們將如何在正常的異步任務類中實現。 –

相關問題