【发布时间】:2011-09-21 18:01:59
【问题描述】:
对于我添加到应用程序的每个 Activity,我注意到在 Activity 的初始化中使用了很多类似的代码。一个带有静态方法来包装类似代码的辅助类似乎是可行的方法。
我首先想到的是单例类。我可以添加静态方法/变量并在整个应用程序中使用它们。我还没有真正尝试过这在 Android 应用程序中是如何工作的。再搜索一点,我看到了一些关于创建一个扩展 Application 的类。为此我做了一个简单的测试:
public class MyApp extends Application {
public static String DEMOTEXT = "WORKING!";
public static void ShowToast(Context context, String text) {
Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
}
}
MyApp.ShowToast(this, MyApp.DEMOTEXT); // Placed on onCreate of some Activity
这完全符合我的预期。这是在 Android 上的方式还是有更好的约定?这样做时我还应该考虑什么?
顺便问一下,我应该在字符串上使用final 关键字吗?方法呢?
编辑:我刚读到这个:
通常不需要子类化应用程序。在大多数情况下, 静态单例可以以更模块化的方式提供相同的功能 方式。如果您的单例需要全局上下文(例如注册 广播接收器),检索它的函数可以给出 上下文在内部使用 Context.getApplicationContext() 时 首先构造单例。
http://developer.android.com/reference/android/app/Application.html
那我应该使用单例吗?
【问题讨论】:
标签: android helper conventions