2017-09-14 57 views
1

的火力ServerValue.Timestamp在Xamarin.Android(原生)如何寫從Xamarin

如何編寫服務器的時間戳的火力點創建或更新一個鍵時。

我發現在Android的代碼像下面

ref.addValueEventListener(new ValueEventListener() { 
public void onDataChange(DataSnapshot dataSnapshot) { 
    System.out.println(dataSnapshot.getValue()); 
} 

public void onCancelled(DatabaseError databaseError) { }}); 
ref.setValue(ServerValue.TIMESTAMP); 

,但不要xamarin.android(原生)

FirebaseDatabase database = FirebaseDatabase.GetInstance(FirebaseApp.GetInstance(Application.PackageName)); 

DatabaseReference userRef = database.GetReference("users").Child(userKey); 
userRef.SetValue(ServerValue.Timestamp); // build error 

回答

1

ServerValue.Timestamp被映射到C#的IDictionary發現(在Java它是一個Map)。

將其轉換爲Java.Lang.ObjectSetValue

userRef.SetValue((Java.Lang.Object)ServerValue.Timestamp); 

在你Firebase.Database.IValueEventListener.OnDataChange投的值長:

var timestamp = (long)snapshot.Value;