- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的应用程序将离线数据存储在 sqlite 中,然后根据用户选择将其同步到在线服务器。我需要为 sqlite 中的每一行提供一个唯一的 ID,以便在同步/更新时我可以管理每一行的状态和其他内容。
唯一 ID 在使用我的应用程序的所有设备上应该是唯一的。我尝试了 System.currentTimeMillis() 选项,但它似乎可以跨设备重复。我搜索的其他选项是 UUID 或合并 2 个值,例如 System.currentTimeMillis() 和 Random.nextLong() 以创建唯一值
执行此操作的最佳可靠方法是什么?
最佳答案
您的 UUID 是正确的。 UUID 表示 Universally Unique IDentifier ,它专为您拥有的分布式计算环境而设计,多个设备生成唯一记录。因此,它“几乎是独一无二的”。这正是它所说的 - 实际上,它将在您的所有设备和时间上都是独一无二的。大多数实现采用某种形式的设备 ID(例如实际唯一的 MAC 地址),以及时间元素和加密的位置信息(geo-IP 或类似信息)。
在 Java/Android 中,您可以使用 UUID.randomUUID().toString()
为您的 SQLite 数据库生成唯一的主键。一旦您同步回服务器,这些主键实际上将是唯一的。
我建议不要尝试实现您自己的 UUID 方案(基于 AndroidID、MAC 地址、IMEI、系统时间等)。虽然您可能会获得轻微的存储优势,但恕我直言,开发和故障排除的努力是不值得的。
关于android - android中所有设备上sqlite中行的唯一ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23602393/
我想在 scilab 中绘制 limacon,我有这个方程需要处理: 我知道r>0和l>0 当我编译以下代码时,我在第 5 行收到此错误: Inconsistent row/column dimens
我试图更好地了解行和行集在 PeopleCode 中的用途?我读完了PeopleBooks,但仍然觉得我没有很好的理解。我希望对这些与应用程序引擎程序相关的内容有更多的了解。也许通过一个例子可能会有所
我有 4 列的行,每列都有一个标题和一些文本。大多数列都有相似数量的文本,将其列中的按钮向下按以匹配其余列。但是,一列的文本较少,并且没有将按钮向下推得足够远。 有没有办法将按钮对齐到行的底部?我想实
我有这个模型 summary = models.TextField() 但我只想有 4 行和 15 列。 此外,如果我这样做,我是否需要重新安装数据库。 最佳答案 TextField
我想在 iPhone 中创建 SSL 服务器套接字的客户端,但我在 iPhone 中找不到任何 API。我有带密码的有效证书文件 最佳答案 你看过OpenSSL了吗? ? 关于iphone - iPh
For Each cell In sheets(1).Range("A50:A606") For Each cell2 In sheets(2).Range("EX2:ACB2") cell2.
这是我的矩阵 [,1] [,2] M -1 -5 T 8 -4 W -3 9 Th
我有一个全局char *在运行时,重新声明为指向声明为 way 的二维数组的指针。 : char (*A)[N][M] = malloc(sizeof(char[BUF_16][N][M])); 然后
我是一名优秀的程序员,十分优秀!