【发布时间】:2019-01-25 05:16:37
【问题描述】:
我是 android 和 OOP 的新手。我知道 Fowler 的坏习惯之一是代码重复。我在不同活动的整个项目中有大约 25 个 volley 请求,在所有这些项目中,有 90% 的代码相同。
看看这个伪代码:
on Error:
if no connection:
Toast "no connection"
else if no response:
Toast "server error"
else
show popup with a retry button which will call the function which this request is inside it again.
我的第一个问题是如何在一个地方编写这些并在不同的地方使用整个请求对象。
我的第二个问题是在一些特殊活动中有一些与活动相关的代码。例如,在我的登录页面上我没有 unauthorized 错误,但在其他页面上我有。或者如您所见,在上面代码中的最后一个 else 中,我说过调用函数以及是否每个请求都不同。我该如何处理?
我该怎么做? 有什么特别的参考吗? tnx
【问题讨论】:
-
如果仅此而已,则无需更改。
-
我认为上面代码中的大“气味”会在您每次使用时重复所有弹出代码。也许您可以将其移至常用的辅助方法。老实说,你的 Android 代码可能有一些样板。
-
@greenapps 我的问题是,起初我使用弹出窗口没有连接错误,但后来我决定显示 toast,这让我更改了 20 25 个代码。所以我想我可能会改变一些设计。
-
@TimBiegeleisen 我正在使用 android 内置弹出窗口,我认为我没有简单的方法来使用它们。如果有的话,我将不胜感激。
标签: java android oop android-volley