代码之家  ›  专栏  ›  技术社区  ›  Peri Hartman

google日历api中的calendarid和eventid是否与android提供程序api相同?

  •  0
  • Peri Hartman  · 技术社区  · 6 年前

    使用android日历提供程序,您可以查询包含calendarid值和eventid值的事件实例。这些值是否与直接使用google日历api查询时得到的值相同?

    例如,每次清除日历数据并进行同步时,calendarID和eventID值是否与以前的时间相同(即持久性)?或者他们将由提供者在本地重新生成,并返回到实际google日历中的相应事件?

    换言之,对于给定的用户,对[calendarID,eventID]是否有效地是持久的uid?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Marten    6 年前

    不,他们不一样。android日历和事件id是底层sqlite表中的行id,在插入新日历或事件时自动递增。

    查看事件和日历 _ID 列在中创建 CalendarDatabaseHelper.java, line 523 CalendarDatabaseHelper.java, line 767 是的。请注意,对于日历,它没有指定 AUTOINCREMENT 明确,但如果没有 _身份证 在插入自动确定的日历时指定(请参见 SQLite Autoincrement )中。

    与google api id的任何相似之处都纯属巧合。

    编辑:

    处理关于使用uid标识相同元素的评论:

    有关事件的公共ID,请参见 iCalUID UID_2445 .这些基本上是相同的字段,我希望它们对于相同的事件具有相同的值。

    注意,即使字段被调用 UID_2445 在android上,它与rfc 5545中的字段相同,因为rfc5545是rfc 2445的继承者,uid字段在这两个规范中具有相同的含义。