我正在开发一个Android聊天应用程序,我需要唯一的聊天消息ID,它应该是可排序的(在较旧到最近的顺序)并将保存在sqlite db中。
到目前为止,我已经采用了Sqlite的整数自动增量键,该键正在运行,但不确定这是否是正确的做法。
我是这个领域的新手并且不知道。我很抱歉,如果我的问题对你们来说似乎非常幼稚和琐碎。
您的建议可能会让我使我的产品更高效,更简单。
答案 0 :(得分:1)
我认为你应该以毫秒为单位的时间或以纳秒为单位的时间用于消息ID。如果您的应用程序是双向邮件系统,您可以按照他们从用户发送的时间顺序轻松地对邮件进行排序。如果你使用带有自动增量的id,你最终会有时间冲突,因为其他用户的消息可能会在网络上被延迟。
System.nanoTime()
答案 1 :(得分:0)
我会使用服务器发出的ID。服务器可以将它们生成为数据库中的自动增量键,或者通过递增其他计数器,比如每个会话。