Android 如何在领域数据库中使用日期作为主键?

Android 如何在领域数据库中使用日期作为主键?,android,date,search,realm,primary-key,Android,Date,Search,Realm,Primary Key,我在领域数据库工作。我知道如何使用id作为主键。但我想知道如何使用日期作为主键,这样,如果我搜索任何日期,都应该在屏幕上查看它。有人能帮我吗?使用日期作为主键通常不是个好主意。因为你们可以面对这样一种情况:你们需要两个对象具有相同的日期,但主键对于两个对象不能相同 任何将日期作为主键的方法都很简单: public class SomeModel extends RealmObject { @PrimaryKey private long date; ... pub

我在领域数据库工作。我知道如何使用id作为主键。但我想知道如何使用日期作为主键,这样,如果我搜索任何日期,都应该在屏幕上查看它。有人能帮我吗?

使用日期作为主键通常不是个好主意。因为你们可以面对这样一种情况:你们需要两个对象具有相同的日期,但主键对于两个对象不能相同

任何将日期作为主键的方法都很简单:

public class SomeModel extends RealmObject {
    @PrimaryKey
    private long date;
    ...
    public long getDate(){return date;}
    public void setDate(long date) {this.date = date;}
}
创建对象的示例:

SomeModel rv = realm.createObject(SomeModel.class, new Date().getTime());

从无法搜索非主键列开始。。。和在UII中显示一样,我无法得到你的答案。他说,你的字段不必是主键就可以从中查询。只需添加
@Index