如何将(Android)应用程序上下文传递给Java类?

如何将(Android)应用程序上下文传递给Java类?,java,android,android-context,Java,Android,Android Context,我有以下代码,其中我使用应用程序上下文检索所需信息: public class Data{ private boolean VarA; public void setVarA(boolean B,Context ctx) { SharedPreferences CoreDataStorage = ctx.getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor editor = Core

我有以下代码,其中我使用应用程序上下文检索所需信息:

public class Data{
   private boolean VarA;

   public void setVarA(boolean B,Context ctx)
   {
        SharedPreferences CoreDataStorage = ctx.getSharedPreferences(PREFS_NAME, 0);
    SharedPreferences.Editor editor = CoreDataStorage.edit();
        editor.putBoolean("PrefVarA", VarA);
        edit.commit();
   }

}
现在我从下面的类调用公共方法setVarA()

public class MyActivity extends Activity{

    Data cd = new Data();

    @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.registration);
        cd.setVarA(true,this);
    }
}

在上面的活动中,它向我显示了无法从MyActivity转换到上下文的编译错误。请提出解决方案。上述代码是否不是传递上下文的正确方法?

您需要应用程序上下文来访问共享首选项。应该是:

cd.setVarA(true,this.getApplicationContext());
MyActivity
onCreate