【问题标题】:How to query on current date and bring back objects in Realm that contains it?如何查询当前日期并带回包含它的领域中的对象?
【发布时间】:2017-05-10 18:26:49
【问题描述】:

因此,使用领域数据库开发一个 android 应用程序。我可以使用 Calendar.getInstance() 找出当前日期,但我想知道的是如何使用领域模型来实际存储对象的不同工作日。

我的模型如下所示:

public class Habit extends RealmObject{
private static int id=0;
private String name;
private Date created;
private ArrayList<Date> repeat;
private Date updated;
private Date reminder;
private int target;
private int tracker;
// getter and setters 
}

我试图在重复的 ArrayList 中存储将要重复的天数(因此最多 7 天或每天,至少 1 天),因为 Realm 不接受日历。

我将创建对象,然后传入适当的数据以填写字段,并根据选择的天数发送这些日期对象(例如,在星期一、星期二、星期五重复)。然后我会在领域数据库上查询以带回包含由 calendar.getInstance() 获取的当前日期的所有对象。至少我是这么想的。

但问题是,目前我正在输入一个字符串来确定用户希望该项目在哪几天重复,我如何将其转换为工作日/周末的日期项目,然后将其存储在我的领域对象?

任何帮助或建议都会真正有助于使其发挥作用。另外,如果有任何额外的代码可以帮助我知道我可以添加什么。

谢谢。

【问题讨论】:

  • 有点离题,但你的 id 可能不应该是静态的。

标签: android database date realm


【解决方案1】:
 private ArrayList<Date> repeat;

Realm 不支持原语列表,Date 被视为原语。

您需要创建一个具有 Date 参数的特定于类的对象。

public class Habit extends RealmObject{
    private static int id=0;
    private String name;
    private Date created;
    private RealmList<HabitDate> repeat;
    private Date updated;
    private Date reminder;
    private int target;
    private int tracker;
    // getter and setters 
}

public class HabitDate extends RealmObject {
    private Date date;

    private Habit habit; // <-- because query across `@LinkingObjects` is 3.3+
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 2021-09-10
    相关资源
    最近更新 更多