Sto utilizzando Azure Mobile App SDK per Android.Invio di DateTimeOffset da Android a .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());
Esso viene utilizzato come segue:
MobileServiceSyncTable<MyClass> myClassSyncTable = _client.getSyncTable(MyClass.class);
ListenableFuture<MyClass> responseFuture = myClassSyncTable.insert(myClass);
All'inserimento, il ClientCreatedAt
è impostato su zero, quando ho studiato l'istruzione di inserimento, è il GSON all'interno della libreria non serializzazione la datetimeoffset, in particolare, questa linea:
JsonObject json = mClient.getGsonBuilder().create().toJsonTree(item).getAsJsonObject();
Quando si sostituisce la DateTimeOffset
con Date
, il valore è pr serializzato operly.
Quindi, le mie domande sono:
- E 'destinato a Azure Mobile Apps per me di utilizzare il DateTimeOffset e, se sì, qual è il modo giusto per usarlo?
- Posso forzare Gson a serializzare DateTimeOffset correttamente? Ho guardato le Annotazioni di Gson, ma nulla che possa esserci d'aiuto. Non sono sicuro di dover creare un getter e un setter per la serializzazione e la deserializzazione.
Si tratta della classe di Azure SDK DateTimeOffset? – Adam
Voglio dire usare la stringa in classe, ma inserire la data in questo tipo di formato. Qualcosa di simile a questo 'classe pubblica MyClass { ID stringa pubblico; public String ClientCreatedAt; } MyClass inst = new MyClass(); inst.ClientCreatedAt = df.Format (c.getTime); ' – Airat
La mia domanda è diversa, grazie comunque :) – Adam