我在我的應用程序中使用ArrayList。使用Singleton類初始化/訪問ArrayList
我想知道從Singleton類初始化我的ArrayList的確切過程。
該數據將用於其他一些活動。
任何人都可以幫助瞭解Singleton類嗎?
我在我的應用程序中使用ArrayList。使用Singleton類初始化/訪問ArrayList
我想知道從Singleton類初始化我的ArrayList的確切過程。
該數據將用於其他一些活動。
任何人都可以幫助瞭解Singleton類嗎?
這裏是如何創建單例類:
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);
}
}
你需要的地方打電話給你的arrayList只是做:
YourSingleton.getInstance().getArray();
要添加到陣列使用的元素:
YourSingleton.getInstance().addToArray("first value");
或
YourSingleton.getInstance().getArray().add("any value");
謝謝@Anto ..還有一件事是我可以在同一個singleton類中使用多個arraylist – AndroidKing
是的,你可以創建不同的方法來調用正確的數組。在這個例子中你有getArray()。你可以創建getFirstArray(),getSecondArray()等等......只需在類聲明中添加你的其他數組,並在構造函數中初始化它們,就像我爲'list'所做的那樣。 – HelloSadness
有一個想法..非常友善@ Anto Lemme結帳和讓你知道 – AndroidKing
請看看下面維基百科artikle:
https://en.wikipedia.org/wiki/Singleton_pattern
但是請記住,單身是「全局狀態」,讓你的源代碼更難測試。有很多人說:「單身是邪惡的」
如果你不知道如何正確對待他們,他們會變得邪惡。 –
我認爲你需要像這樣
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;
}
}
請添加一些代碼,並進一步解釋,以幫助我們理解這個問題。 – Tuzane