2013-01-08 38 views
0

實施BundleTypeAdapter,所以我一直在尋找一個包對象轉換爲使用GSON實現此bundletypeadapter,我在FUNF project發現JSON。在FUNF

我的問題是,我不完全知道如何正確地執行代碼塊。目前對我來說很有意義的唯一途徑導致循環依賴。

如何你通常會實施新的TypeAdapter:

... 
GsonBuilder gsonBuilder = new GsonBuilder(); 
gsonBuilder.registerTypeAdapter(Location.class, new LocationDeserializer()); 
gsonBuilder.registerTypeAdapter(Location.class, new LocationSerializer()); 
Gson gson = gsonBuilder.create(); 
... 

,或者什麼,我會想到在這種情況下:

... 
GsonBuilder gsonBuilder = new GsonBuilder(); 
gsonBuilder.registerTypeAdapter(Bundle.class, new BundleTypeAdapter()); 
Gson gson = gsonBuilder.create(); 
... 

我的問題是,該BundleTypeAdapter有唯一的構造是BundleTypeAdapter( Gson gson),我不太確定如何去傳遞一個我還沒有創建或實例化的對象...

有什麼想法嗎?

回答

1

GSON已經爲你描述,TypeAdapterFactory的情況下的解決方案。 BundleTypeAdapter定義所需的工廠爲你在叫工廠靜態成員變量。要使用它,請致電:

gsonBuilder.registerTypeAdapterFactory(BundleTypeAdapter.FACTORY); 
+0

真棒。謝謝你:-) 在無法弄清楚之後,我已經開始使用hashmap而不是捆綁軟件了......但是如果我現在正在做的不行,我會試試你的建議。 – MrTristan