创建java类DBOperations我在android项目中实现数据库操作但发现有些操作需要Context对象。无法通过此或 getapplicationcontext 方法获取此功能。我决定将上下文对象作为参数传递,例如。
Mymdhod(this);
这是正确的方式还是有其他方法来获取应用程序上下文?
答案 0 :(得分:0)
是的,如果您需要自己的课程中的上下文,最好的方法是像往常一样传递它。
答案 1 :(得分:0)
使用方法调用的参数,您可以传递活动的上下文并在其他类中使用它们。 例如: 为obj.methodename(上下文)
方法
public methodName(Context context){
// do something with context
}
答案 2 :(得分:0)
如果您需要上下文的所有内容都可以在构造函数中完成,请考虑将上下文作为参数传递给构造函数,并立即初始化您需要上下文的所有内容。
否则,如果您需要公共方法中的上下文,请将上下文作为参数传递给此方法。
您不应该做的是将上下文作为成员变量引用。在遍历活动生命周期时,您持有的引用可能会失效,并且保持引用可能会导致内存泄漏,如this article中所述。