I am using an ArrayList in my application.
I would like to know the exact procedure to initialize my ArrayList from a Singleton class.
The data will be used in some other Activities.
Can anybody help to know about Singleton class?
I am using an ArrayList in my application.
I would like to know the exact procedure to initialize my ArrayList from a Singleton class.
The data will be used in some other Activities.
Can anybody help to know about Singleton class?
Here is how to create your singleton class :
public class YourSingleton {
private static YourSingleton mInstance;
private ArrayList<String> list = null;
public static YourSingleton getInstance() {
if(mInstance == null)
mInstance = new YourSingleton();
return mInstance;
}
private YourSingleton() {
list = new ArrayList<String>();
}
// retrieve array from anywhere
public ArrayList<String> getArray() {
return this.list;
}
//Add element to array
public void addToArray(String value) {
list.add(value);
}
}
Anywhere you need to call your arrayList just do :
YourSingleton.getInstance().getArray();
To add elements to array use :
YourSingleton.getInstance().addToArray("first value");
or
YourSingleton.getInstance().getArray().add("any value");
Please look at the following wikipedia-artikle:
https://en.wikipedia.org/wiki/Singleton_pattern
But keep in mind that singletons are 'global state' and make your sourcecode harder to test. There are lot of people saying: "singletons are evil'
I think you need something like this.
public class SingletonClass {
private static ArrayList<String> strArray;
private static SingletonClass singleton;
private SingletonClass(){}
public static synchronized SingletonClass getConnectionInstance(ArrayList<String> strArray){
if (singleton == null) {
singleton = new SingletonClass();
}
this.strArray = strArray;
return singleton;
}
}