1

我对 android 还很陌生,在阅读了一本书并学习了很多教程之后,我即将创建我的第一个“真正的”应用程序。

我的问题很简单:在设计 android 应用程序时,调解器设计模式仍然是一个不错的选择吗?

如果是的话,在编写 android 应用程序时是否应该避免任何设计模式?

如果没有,您可以使用中介模式来收集不同对象的实例吗?

4

1 回答 1

2

我建议创建一个模型类(我们称之为)并在(不是)MyModel中创建这个类的对象。Application.onCreateActivity.onCreate

在那之后添加吸气剂,所以你可以从任何ActivityService这样的地方得到这个模型:

MyApplication app = (MyApplication) getApplication();
MyModel model = app.getMyModel();
User user = model.getCurrentUser();

等等

如果您在那里创建从上面代码的前两行返回模型的方法,那么创建BaseActivity类也可以节省您的输入。protected MyModel getModel()

编辑:

您需要创建一个类来扩展Application并在AndroidManifest.xml.

这是如何:https ://stackoverflow.com/a/2929927/2183804

编辑(关于单例):

据说它是一种反模式(不仅在 Android 上)。在 Android 中,我看到人们以带有 MySingleton.getInstance(Context) 之类的访问器的单例结尾,因为他们无论如何都需要 Context,例如用于 SharedPrefs 或 DB 访问。这就是 Application 的用途,因此无需创建额外的、骇人听闻的实体,它可能会以错误的方式使用:MySingleton.getInstance(null) 从没有可用上下文的地方。在进程被杀死并重新启动后,这可能会导致 NPE。

于 2013-04-14T19:15:59.420 回答