0

私は自分のDBに新しいデータ構造を作成するために以下のPOJOを修正しようとしています。firebaseデータベースのpojoinを編集する

public class Registration implements Parcelable { 

    private String color; 
    private String brand; 
    private String model; 
    private String reg_date; 
    private String license_plate; 
    private String id_type; 
    private String id_number; 
    private String picture; 
    private int service_type; 
    private int fuel_type; 
    private int vehicle_type; 
} 

すべてが正常に見えますが、サーバーの関数がDBのonWriteを呼び出すと、すべて正常に見えます。 objを印刷すると、次のようになります。

{ fuelType: 0, 
    idNumber: '0000000', 
    idType: 'L', 
    licensePlate: 'III000', 
    serviceType: 0, 
    vehicleType: 0 } 

以下のコードはこのトリックを行います。

exports.runt = functions.database.ref('/vehicles/{pushId}').onWrite(event => { 

    if(!event.data.val() || event.data.previous.val()){ 
     console.log("Not Adding a new vehicle"); 
     return; 
    } 

    var uuid = event.auth.variable ? event.auth.variable.uid : null; 

    console.log(event.data.val()); 

    retireveVehicleInfo(event, uuid); 

    retrieveTickets(event, uuid); 

}); 

掃除や私のオブジェクトは古いもののように見えるし続ける理由を私は理解していないので、firebaseでオブジェクトを更新する方法はあります。あなたのPOJOで

+0

Firebaseは、プロパティ名をJavaBeanクラスとして、あなたのPOJOを解釈し、ラクダ、例。 farukの答えは、必要な注釈を示しています。 –

答えて

1

たとえば、あなたの変数、ゲッターとセッター

@PropertyName(YOUR FIELD)を置く:

@PropertyName("reg_date") 
private String reg_date; 

@PropertyName("reg_date") 
public String getRegDate() { 
    return reg_date; 
} 

@PropertyName("reg_date") 
public void setRegDate(String reg_date) { 
    this.reg_date = reg_date; 
} 
+1

私はこの場合、フィールド自体に注釈が必要とは思わない。 –

関連する問題