2015-02-11 74 views
0

當我試圖找到一個簡單的方法來實現一個全局變量到我的應用程序(我打算在幾個活動中使用的一個Java類的數組)中時,我很快就會發現。我看到一種看起來很有意義且易於實現的方法。它涉及到創建一個新的Java類;用什麼填充它;並將其插入清單<application android:name="app.com.new.GlobalVariables"...。但它表示該類不能分配給應用程序。Android創建和使用全局變量的簡單方法?

我試過其他一些方法,但無濟於事。類似於C++,是不是有辦法將一個類(或全局變量)「包含」到整個Android應用程序中?

回答

1

您可以使用單例設計模式創建一個新類,用於存儲您希望在所有活動中保留的所有數據。

http://en.wikipedia.org/wiki/Singleton_pattern

基本上你創建一個只包含一個get方法的類。該方法創建一個對象的實例,如果沒有,或只是返回該對象,如果它已經被實例化。您可以在每個活動中調用該方法來獲取相同的對象。

+0

嗯,我記得C++的單例。這幾乎是最好的和/或唯一的方式?我的全局變量實際上是一個具有幾個變量的類的數組,我的目標是能夠輕鬆地檢索部分類...即:'System.out.ln(class [3] .string) ;'知道,這仍然是最好的方式去做呢? – lilgodwin 2015-02-11 17:06:47

+0

那麼單身商店的對象可以是你的數組,所以你仍然可以以同樣的方式訪問這些類。 singleton.get()[3]。 – 2015-02-11 17:18:52

1

創建有效期延長申請

public class GlobalClass extends Application{ 

private String name; 
public String getName() { 
return name; 
} 

public void setName(String Name) { 

    name = Name; 

}} 

後來在manifest文件中註冊一個類

<application 
    android:name="com.example.globalvariable.GlobalClass" 

如何使用它

GlobalClass globalVariable = (GlobalClass) getApplicationContext(); 
    globalVariable.setName("Name here"); 
    String name = globalVariable.getName(); 

完蛋了。