在Kotlin中将字符串转换为位置



我正在开发Androidapp inKotlin其中我想保存一个'Location'对象到SQLite然后再恢复。我可以通过简单地调用'Location'对象上的'toString()'来将'Location'对象转换为'String',如下所示:

var loc:Location
var str:String
... Code to init loc ...
str = loc.toString

之后的字符串有一个值,如:

str = Location[gps 37.328528,-121.897877 hAcc=8 et=+1d15h4m55s443ms alt=-6.62762451171875 vel=0.36 bear=264.9 vAcc=17 sAcc=3 bAcc=97 {Bundle[mParcelledData.dataSize=96]}]

如何将结果String转换回Location对象

Update # 1这是我按照@DivijGupta的建议尝试使用Gson

constructor(i_productName: String, i_date:String, i_location:Location?)
{
var parcel:Parcel?=Parcel.obtain()
var locStr:String = ""

var longitude:Double

if(i_location!=null) {
logEntryAction = i_productName
logEntryDate = i_date

longitude = i_location.longitude
locStr = Gson().toJson(i_location)   <-----  Gson
}
else
{
longitude = 0.0
}
logEntryLongitude = longitude

您可以使用Gson库。

添加依赖项

implementation 'com.google.code.gson:gson:2.8.6'

将对象转换为字符串

val jsonString = Gson().toJson(loc)

现在从字符串

中获取对象
val location = Gson().fromJson(jsonString, Location::class.java)

相关内容

  • 没有找到相关文章

最新更新