After looking at various info regarding singletons, global variables and extending application class, I have come up with what I believe is a workable solution, BUT I'd like to know if there is a reason NOT to do this.
I've created a class with:
public class GlobalVariables {
private static GlobalVariables instance;
private static Boolean testVar;
//other private static variables.
//setters
public void setTestVar(Boolean vAR)
{
GlobalVariables.testVar = vAR;
}
//other similar setters from private static variables above.
//getters
public Boolean getTestVar() {
return GlobalVariables.testVar;
}
//other similar getters from private static variables above.
public static synchronized GlobalVariables getInstatnce() {
if(instance==null) {
instance=new GlobalVariables();
}
return instance;
}
}
In my activity, service, broadcast receiver...:
private GlobalVariables g = GlobalVariables.getInstance();
// getting the value
Boolean bVar = g.getTestVar();
// do somethings with bVar.
...
bVar = true;
// set GlobalVariables.testVar
g.setTestVar(bVar);
Again, is there a reason NOT to use this for passing variables between activities, services, broadcastReceivers and whatever other classes?