Firebase没有默认构造函数反序列化

时间:2016-12-14 18:39:24

标签: java android firebase jackson firebase-realtime-database

我正在使用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;

enter image description here

我已查看Best way to retrieve/format data using Firebase Java APIJackson 3rd Party Class With No Default Constructor。 但我不确定如何让Firebase与Jackson一起创建一个反序列化器。

错误:

  

类com.firebase.geofire.GeoLocation缺少构造函数   没有参数

由于

0 个答案:

没有答案