I have one class ApplicationDetails, with getter and setter methods.
public class ApplicationDetails {
String supportURL;
String companyURL;
String copyRightText;
// with getter and setter methods
}
I am setting all data in my splash screen activity.
ApplicationDetails appDetails = new ApplicationDetails();
String supportURL = getResources().getString(R.string.support_url);
appDetails.setSupportURL(supportURL);
For sample I just setting data from string file but in app its coming from different sources.
But when I tried to access data in different activity its returns null value.
e.g.
public class AboutViewController extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ApplicationDetails appDetails = new ApplicationDetails();
System.out.println(" app support url " + appDetails.getSupportURL());
}
}
output
I/System.out(2242): app support url null
any help.
You get null, because you create a new object and all fields are initialized to zero.
In your case, I see these fields are going to be the same through application, so you can use a Singleton pattern and instantiate only one object for your application and refer to it later on. You don’t need to create a new object each time you refer to it. It would be ok for this class and you can also make them constants. (I guess these variables won’t change through execution)