在其他类中获取Android的上下文

时间:2016-01-03 18:56:10

标签: java android android-context

创建java类DBOperations我在android项目中实现数据库操作但发现有些操作需要Context对象。无法通过 getapplicationcontext 方法获取此功能。我决定将上下文对象作为参数传递,例如。

Mymdhod(this);

这是正确的方式还是有其他方法来获取应用程序上下文?

3 个答案:

答案 0 :(得分:0)

是的,如果您需要自己的课程中的上下文,最好的方法是像往常一样传递它。

答案 1 :(得分:0)

使用方法调用的参数,您可以传递活动的上下文并在其他类中使用它们。 例如:     为obj.methodename(上下文)

方法

  public methodName(Context context){
 // do something with context

 }

答案 2 :(得分:0)

如果您需要上下文的所有内容都可以在构造函数中完成,请考虑将上下文作为参数传递给构造函数,并立即初始化您需要上下文的所有内容。

否则,如果您需要公共方法中的上下文,请将上下文作为参数传递给此方法。

您不应该做的是将上下文作为成员变量引用。在遍历活动生命周期时,您持有的引用可能会失效,并且保持引用可能会导致内存泄漏,如this article中所述。