我可以使用动态变量(如时间)来构造静态最终变量(常量)

Can i use Dynamic variable(like time) to construct static final variable(constant)

对于构建文件名,我正在按照下面提到的方式构建名称

public static final String JSON_LOG_FILE_NAME = "JSON"
  +getUserName() + System.currentTimeMillis()
  + ".txt";

这一直工作到昨天,现在它给出异常初始化错误。 我怀疑是否可以使用 android 设备时间和数据库值等动态值作为静态最终变量的一部分。

我建议使用ch.qos.logback.classic.Logger按时基生成文件。

这是完整的例子。希望对你有帮助

Logback - set log file name programmatically

当你希望它根据时间修改时,使用final没有任何意义。

您可以创建一个像 "JSON" 这样的最终变量,您可以使用连接来命名文件。

对于您的情况:上述逻辑是有效的,即文件名仅在加载 class 时更改,而不是每次使用变量时更改。该值是恒定的,您不会发现时间值在您使用它时动态变化。