第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么在改造中需要 addConverterFactory

為什么在改造中需要 addConverterFactory

瀟瀟雨雨 2022-07-27 09:24:15
我的問題是關于改造和 GSON。我知道 GSON 用于 JAVA 對象 <-> JSON 。我知道 Retrofit 會解析我們的響應。我不明白為什么我們需要 GsonConverterFactory 。還有為什么在改造中需要 addConverterFactory
查看完整描述

4 回答

?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

更新:

Kotlin 中的 Pojo 對象是數(shù)據(jù)類,注解的使用與 Java 中一樣

回答:

如果您的應用程序是 Restful,那么從 / 向服務器獲取和發(fā)送數(shù)據(jù)

需要添加轉換器工廠,只是為了改造可以將JSON數(shù)據(jù)(從服務器獲取)轉換為Java(模型)對象(POJO),以在Android項目中使用。

有一些轉換器庫用于將 JSON 轉換為 Java 對象,(GSON、Jackson..等)您必須決定要在項目中使用哪個轉換器并添加相同的工廠

app.gradle 中的依賴項

implementation "com.squareup.retrofit2:converter-gson:VERSION"

和改造設置中的工廠

GsonConverterFactory或者JacksonConverterFactory

Retrofit.Builder().addConverterFactory(GsonConverterFactory.create());

此外,如果遠程數(shù)據(jù)類型是 XML,則需要添加SimpleXmlConverterFactory


查看完整回答
反對 回復 2022-07-27
?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

如果 json 轉換器不能滿足您的需求,您需要添加自定義轉換器工廠以對對象進行序列化和反序列化??紤]這種情況。我希望你會發(fā)現(xiàn)這篇文章很有幫助。



查看完整回答
反對 回復 2022-07-27
?
三國紛爭

TA貢獻1804條經(jīng)驗 獲得超7個贊

世界不僅僅是json和gson。您可以使用其他格式來實現(xiàn) Rest API,即 XML。

此外,在 json 解析器的世界中,不僅有gsonJackson 和 Moshi,而且更像是這樣。

在 Retrofit 中維護所有可能的格式轉換器是極其困難的,因此它將解析卸載到實現(xiàn)轉換器接口的類。將其置于工廠之后,Retrofit 甚至可以將這些轉換器的創(chuàng)建解耦,因此它可以針對不同的響應和請求使用不同的轉換器。

這也允許您在同一個 Retrofit 實例中擁有多個轉換器,這也是一種讓您實現(xiàn)自己的轉換器的簡單方法。

總而言之,這種解耦比將其與特定庫耦合具有更大的靈活性。


查看完整回答
反對 回復 2022-07-27
?
冉冉說

TA貢獻1877條經(jīng)驗 獲得超1個贊

如果您使用的是 Spring,您應該創(chuàng)建一個映射器配置(或使用默認值,如本例所示),在改造配置中,您應該使用以下代碼:


@Bean

fun retrofitBuilder(): Retrofit.Builder {

    return Retrofit.Builder()

        .addConverterFactory(JacksonConverterFactory.create(ObjectMapper()))

}

然后,在您的應用程序中可以讀寫 Kotlin 數(shù)據(jù)類 Json,即使沒有 @ 信息。


查看完整回答
反對 回復 2022-07-27
  • 4 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號