是否可以从资产文件中获取最后修改日期?

Nat*_*Fig 13 sqlite android assets last-modified

奇怪的问题:是否有可能在资产文件夹中获取文件的最后修改日期,或者这是毫无意义和不可能的?

我问,因为我在应用程序启动时将一个只读数据库复制到数据文件夹中,但是如果现有文件比存储在assets文件夹中的文件旧(或者如果文件),则只会执行复制不存在).

如果那不可能,任何人都知道一个更好的约定?如果需要,我可以在一个单独的问题中发布.TIA!

Riv*_*Kid 3

数据库有多大/复杂程度?您可能会发现使用 的实例来SQLiteOpenHelper处理此问题更容易、更灵活,因为只需调用一次getReadableDatabase(),它就会在必要时创建数据库,并调用您onUpgrade来为您升级数据库。

您所要做的就是提供一个onCreate()来创建数据库,提供onUpgrade()升级,并在数据库版本onUpgrade()发生变化时增加数据库版本(在 中),Android 将为您处理数据库的创建和升级。

或者,(我还没有尝试过),它看起来AssetManager.list()可以为您提供资产的路径列表,接下来,用于File (String path)获取数据库的文件对象,最后File.lastModified()获取修改日期。