代码之家  ›  专栏  ›  技术社区  ›  anemo

复制后sqlite Db的Android MD5校验和更改

  •  1
  • anemo  · 技术社区  · 11 年前

    我提供了一个与应用程序打包的SQLiteDb,它在第一次启动时被复制到/data/data/文件夹。 此Db的内容仅供阅读,不会更改。

    如果Db被修改,则应该在下一次应用程序更新时提供它。 所以,我想实现一个过程,在这个过程中,我正在考虑将打包的Db的MD5校验和与设备上的Db校验和进行比较,如果发现不同,则进行复制。

    但是Db复制到设备后,校验和立即更改!

    有人能解释一下这是预期的行为,还是我遗漏了什么?

    如果这是预期的行为,那么比较Db的最佳方法是什么?

    *******更新*******

    我从设备中取出复制的Db,看到系统在Db中添加了一个“android_metadata”表。所以很明显校验和不同。这回答了我的第一个问题。

    第二个问题仍然悬而未决。

    1 回复  |  直到 11 年前
        1
  •  2
  •   anemo    11 年前

    好的,所以解决方案是使用支持的区域设置值预先创建“android_metadata”表。 如果Db中存在该表,系统不会重新创建或更改它。 校验和比较非常有效!

    一个傻瓜式的解决方案,正是我喜欢的方式!