我正在使用firebase和GeoFire,但是我无法弄清楚如何反序列化GeoLocation类。
我的结构如下: - 根 - >用户 - >地址 - >地址键 - > GeoLocation中
问题是GeoLocation没有默认构造函数,只有一个接收lat / long coords。
地理定位:
public final class GeoLocation {
/** The latitude of this location in the range of [-90, 90] */
public final double latitude;
/** The longitude of this location in the range of [-180, 180] */
public final double longitude;
/**
* Creates a new GeoLocation with the given latitude and longitude.
*
* @throws java.lang.IllegalArgumentException If the coordinates are not valid geo coordinates
* @param latitude The latitude in the range of [-90, 90]
* @param longitude The longitude in the range of [-180, 180]
*/
public GeoLocation(double latitude, double longitude) {
if (!GeoLocation.coordinatesValid(latitude, longitude)) {
throw new IllegalArgumentException("Not a valid geo location: " + latitude + ", " + longitude);
}
this.latitude = latitude;
this.longitude = longitude;
}
地址:
public class Address {
@ParcelPropertyConverter(GeoLocationParcelConverter.class)
GeoLocation geoLocation;
}
要反序列化的根类:
public class User {
String uid;
String name;
String email;
String profilePic;
String profileBgPic;
String about;
boolean verified;
float rating;
Date birthday;
String gender;
List<Tag> specialities;
HashMap<String, Address> addresses;
我已查看Best way to retrieve/format data using Firebase Java API和Jackson 3rd Party Class With No Default Constructor。 但我不确定如何让Firebase与Jackson一起创建一个反序列化器。
错误:
类com.firebase.geofire.GeoLocation缺少构造函数 没有参数
由于