0

好的。我在异步任务中可以正常工作,但必须有一种不那么繁琐的方法。

在我的应用程序中,我有一个“新闻”栏,会显示一个“!” 如果消息尚未阅读或是新消息。如果已阅读,则不会有“!” 直到有新消息到来。

我如何做到这一点是我定期下载并解析一个 JSON 文件。我将消息转换为哈希码,并将该值与已保存在下载的上一条消息的文件中的哈希码进行比较。此外,我还有另一个“ReadStatus”文件,其中写入了“已读”或“未读”值。

当用户单击“新闻”栏阅读消息时,它会用“已读”值重写“ReadStatus”文件。每当 asynctask 下载并解析 JSON 数据并将其转换为哈希码时,如果哈希码与保存的哈希码值不匹配,或者如果匹配但“ReadStatus”文件的值为“未读”,则“ !” 出现。此外,在哈希码不匹配的情况下,不仅会触发“!” 但也会用“未读”值重写“ReadStatus”文件。

虽然整个过程似乎过于费力,但我很难找到一种更有效、代码更少的方法来实现相同的结果。有更多经验的人有什么建议吗?

谢谢!

4

0 回答 0