我正在使用需要调用webservice来获取数据的应用。我使用Retrofit和回调来处理结果数据。这意味着我异步调用webservice。
还有一个问题是,有些时候,用户在请求未完成时转移到其他活动。因此,当它完成时,调用一些不再存在的资源 - >导致崩溃。
除了在这里捕捉NPE之外,你能否提出一些其他想法?
答案 0 :(得分:1)
我发现this article可以解释基于公交事件的Android应用程序的优秀结构。
在onResume / onPause中,您将当前片段/活动附加到事件,并订阅到片段中的事件。
在应用程序中,您可以注册一个 UserService 来处理像postLogin
这样的总线事件,一旦完成,创建并发送一个新的事件调用onLogged
(例如)。
我在新的应用程序中使用它,非常方便和干净。您可以避免讨厌的东西,并在许多地方获得相同的网络请求结果,例如在当前Login片段的同时更新NavigationView。