Firebase使用UUID成员序列化类

时间:2016-12-04 07:08:30

标签: java firebase deserialization uuid microsoft-cognitive

我收到此错误:

  

致命的例外:主要                     com.google.firebase.database.DatabaseException:类java.util.UUID缺少不带参数的构造函数                         在com.google.android.gms.internal.zzanp $ zza.zze(未知来源)                         在com.google.android.gms.internal.zzanp $ zza.zzcg(未知来源)                         在com.google.android.gms.internal.zzanp.zze(未知来源)                         在com.google.android.gms.internal.zzanp.zzb(未知来源)                         在com.google.android.gms.internal.zzanp.zza(未知来源)                         在com.google.android.gms.internal.zzanp.zzb(未知来源)                         在com.google.android.gms.internal.zzanp $ zza.zze(未知来源)                         在com.google.android.gms.internal.zzanp $ zza.zzcg(未知来源)                         在com.google.android.gms.internal.zzanp.zze(未知来源)                         在com.google.android.gms.internal.zzanp.zzb(未知来源)                         在com.google.android.gms.internal.zzanp.zza(未知来源)                         在com.google.android.gms.internal.zzanp.zzb(未知来源)                         在com.google.android.gms.internal.zzanp $ zza.zze(未知来源)                         在com.google.android.gms.internal.zzanp $ zza.zzcg(未知来源)                         在com.google.android.gms.internal.zzanp.zze(未知来源)                         在com.google.android.gms.internal.zzanp.zzb(未知来源)                         在com.google.android.gms.internal.zzanp.zza(未知来源)                         在com.google.firebase.database.DataSnapshot.getValue(未知来源)                         at com.example.brewc.react.main.Fragments.ContactsPageFragment $ 2.onDataChange(ContactsPageFragment.java:109)                         在com.google.firebase.database.Query $ 1.onDataChange(未知来源)                         在com.google.android.gms.internal.zzakg.zza(未知来源)                         在com.google.android.gms.internal.zzalg.zzcxk(未知来源)                         在com.google.android.gms.internal.zzalj $ 1.run(未知来源)                         在android.os.Handler.handleCallback(Handler.java:746)                         在android.os.Handler.dispatchMessage(Handler.java:95)                         在android.os.Looper.loop(Looper.java:148)                         在android.app.ActivityThread.main(ActivityThread.java:5443)                         at java.lang.reflect.Method.invoke(Native Method)                         在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728)                         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

以下是错误行:

User user = dataSnapshot.getValue(User.class);

User.java

import android.graphics.Bitmap;
import android.util.Base64;

import com.microsoft.projectoxford.face.contract.Face;

import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class User {
    private String email, userID, displayName, phoneNumber, profilePicture, bio;
    private Face details;
    private ArrayList<Face> database;
    private ArrayList<String> contacts;

    public User() {}

    public User(String email,
                String userID,
                String displayName,
                Face details,
                String phoneNumber,
                String profliePicture) {
        this.email = email.trim();
        this.userID = userID;
        this.displayName = displayName.trim();
        this.details = details;
        this.database = new ArrayList<Face>();
        this.contacts = new ArrayList<String>();
        this.phoneNumber = phoneNumber.trim().replaceAll("[^0-9]", "");
        this.profilePicture = profliePicture;
        this.bio = "";
    }

    public String getEmail() {
        return this.email;
    }

    public String getUserID() {
        return this.userID;
    }

    public String getDisplayName() {
        return this.displayName;
    }

    public Face getDetails() {
        return this.details;
    }

    public ArrayList<Face> getDatabase() {
        return this.database;
    }

    public ArrayList<String> getContacts() {
        return this.contacts;
    }

    public String getPhoneNumber() {
        return this.phoneNumber;
    }

    public String getProfilePicture() {
        return this.profilePicture;
    }

    public String getBio() {
        return this.bio;
    }

    public void setBio(String message) {
        this.bio = message;
    }

    public void addContact() {
        this.contacts.add("DvMzHKD0fdbjAVUCw9a5XJZEeYb2");
    }
}

这是Microsoft的Face类结构:

public class Face {
    public UUID faceId;
    public FaceRectangle faceRectangle;
    public FaceLandmarks faceLandmarks;
    public FaceAttribute faceAttributes;

    public Face() {
    }
}

我知道firebase需要一个空的构造函数,所以我该如何解决这个问题呢?

0 个答案:

没有答案