0

在我的 android 项目中,我有一些活动类,并且还简化了 java 类。其中一些完全独立于上下文和视图,但在另一些中,我需要它来访问特定的上下文方法。

我读过它,有人说他们将某些活动的上下文传递给每个需要其方法的类;其他传递视图然后获取上下文或此类必须扩展 Activity... ¬¬

但例如,我有一个类,它只调用一次上下文方法,例如:

getSharedPreferences(configNameFile, 0);
getString(R.string.text);
...

因此,我想知道您总是使用什么模式来执行此操作。

4

2 回答 2

1

我个人最喜欢的方法是:

使用 RoboGuice 进行依赖注入

或者

确保您不需要上下文

如果可能,请尽量避免在其他文件中使用上下文,然后是您的活动。如果真的需要,我大部分时间都会写一个包装器。例如,对于设置,我编写了一个设置界面,它能够通过共享偏好来实现。以后无论何时想要更改设置实现,都可以通过交换接口的实现来轻松完成。如果你真的需要它,我更喜欢使用静态应用程序上下文

于 2012-08-15T12:16:13.023 回答
0

此外,您可以使该方法接受Context参数,例如:

public void getPrefs(Context context){
   context.getSharedPreferences(configNameFile, 0);
   context.getString(R.string.text);
}

然后在您的 Activity 中将当前上下文传递给它:

public void getPrefs(this);
于 2012-08-15T12:27:33.753 回答