我正在android studio中编写一个android Kotlin应用程序,该应用程序与Firebase托管的api交互。 我决定将Fuel用于HTTP客户端,特别是将fuel-gson用于序列化。
基本类型(例如字符串/整数)的序列化进展顺利,但是当我向数据类添加LocalDate时,firestore数据库中的字段最终以空映射{}
结束。
我在REPL中对其进行了测试,并得到了:
import com.google.gson.Gson
import java.time.LocalDate
Gson().toJson(LocalDate.now())
res0: kotlin.String! = {"year":2019,"month":6,"day":20}
因此LocalDate序列化似乎工作正常,但是当我尝试使用Log.d("GSON", Gson().toJson(LocalDate.now()))
将其记录在代码中时,结果再次是:
2019-06-20 23:49:26.740 12653-12653/com.utn.nutricionista D/GSON: {}
我认为我可能以某种方式弄乱了我的依赖关系,所以我在创建干净项目后立即尝试了它,但是结果却是一样的。
此新项目具有最新的android API(Q),并且com.google.code.gson:gson:2.8.5
作为依赖项。
package com.example.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import com.google.gson.Gson
import java.time.LocalDateTime
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
Log.d("GSON", Gson().toJson(LocalDateTime.now()))
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
任何有关正在发生的事情以及如何解决此问题的见解,将不胜感激!