I am creating a model where i'm trying to store gregorian calendar value in a column, but its showing me error, Calendar Datatype not supported by realmProxcy.
private String alarmName;
private Boolean alarmActive = true;
private Date alarmTime;
private String alarmTonePath = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM).toString();
private Boolean alarmVibrate = true;
private Calendar cal;
@PrimaryKey public int alarmid;
Error:(30, 8) error: Type 'java.util.Calendar' of field 'cal' is not supported how can i store this calendar value and fetch it
If you really need to store a Calendar
instance, you can take advantage of it being a Serializable
and the possibility of storing byte[]
arrays in Realm objects - serialize your Calendar
to byte array for storage and deserialize from byte array when accessing data.
Your object would look like this:
class MyRealmObject extends RealmObject {
private String alarmName;
private Boolean alarmActive = true;
private Date alarmTime;
private String alarmTonePath = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM).toString();
private Boolean alarmVibrate = true;
private byte[] serializedCalendar;
public Calendar getCalendar() {
return deserializeCalendar(serializedCalendar);
}
public void setCalendar(Calendar calendar) {
this.serializedCalendar = serializeCalendar(calendar);
}
}
Refer to this answer on Object
<>byte[]
serialization/deserialization on how to implement methods:
byte[] serializeCalendar(Calendar c);
Calendar deserializeCalendar(byte[] arr);