【问题标题】:Generating random integer that never repeat for database id's生成从不重复数据库ID的随机整数
【发布时间】:2015-01-21 10:19:36
【问题描述】:

我目前正在根据适配器数量生成 id。使用 androrm 一个“对象关系映射器,尤其适用于 android”来组织数据库。我想生成永远不会重复的随机数作为新 ID。使用从不重复的随机生成的整数将允许我使用由该 id 组织的另一个数据集来引用该 id。如果删除项目,count() 方法会干扰其他数据集。我将如何生成从不重复的随机数?

public boolean save() {

    int id = FoodLog.objects(context(), FoodLog.class).all().count() + 1;
    return this.save(context(), id);

}

【问题讨论】:

    标签: android random integer int


    【解决方案1】:

    据我所知,您不能简单地这样做,但是如果您一直想要唯一的数字,为什么不获取时间戳?像这样:

    long timestamp = Calendar.getInstance().getTime().getTime();
    

    【讨论】:

    • 我必须格式化日期,因为整数是 32 位的,长度只能是 10 位。数据集还需要一个 int not a long 这就是我这样做的原因。感谢您的回答,它解决了我的问题!
    • 是的,我知道这不是随机的,但 OP 的要求是生成唯一的数字,无论是否随机。 :)
    猜你喜欢
    • 2019-07-13
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多