Ich verwende Azure Mobile Apps SDK für Android.Senden von DateTimeOffset von Android auf .NET Web API
public class MyClass {
public String Id;
public String Code;
public DateTimeOffset ClientCreatedAt;
}
MyClass myClass = new MyClass();
myClass.Id = "1234567890";
myClass.Code = "dfgdrvyet";
myClass.ClientCreatedAt = new DateTimeOffset(new Date());
es verwendet wird, wie folgt:
MobileServiceSyncTable<MyClass> myClassSyncTable = _client.getSyncTable(MyClass.class);
ListenableFuture<MyClass> responseFuture = myClassSyncTable.insert(myClass);
Beim Einsetzen
wird dieClientCreatedAt
auf null gesetzt, wenn I die INSERT-Anweisung untersucht, ist es der Gson innerhalb der Bibliothek, der nicht der ist serializing Datetime, speziell diese Linie:
JsonObject json = mClient.getGsonBuilder().create().toJsonTree(item).getAsJsonObject();
Als ich die DateTimeOffset
mit Date
ersetzen, ist der Wert serialisierten pr Wirklich.
Also, meine Fragen sind:
- Ist es in Azure Mobile-Apps, die für mich die Datetime zu verwenden und wenn ja, was ist der richtige Weg, es zu benutzen?
- Kann ich Gson zwingen, das DateTimeOffset richtig zu serialisieren? Ich habe mir die Gson Annotations angesehen, aber nichts, was da helfen könnte. Ich bin mir nicht sicher, ob ich einen Getter und einen Setter für die Serialisierung und Deserialisierung schaffen sollte.
Ist dies in Bezug auf die DateTimeOffset Azure SDK-Klasse? – Adam
Ich meine benutze Zeichenfolge in der Klasse, aber Datum in diesem Format eingeben. So etwas wie diese 'öffentliche Klasse MyClass { öffentliche String Id; öffentlicher String ClientCreatedAt; } MyClass inst = neu MyClass(); inst.ClientCreatedAt = df.Format (c.getTime); ' – Airat
Meine Frage ist anders, danke trotzdem :) – Adam