2017-03-10 69 views
0

我想在我的android應用程序中創建一些全局變量,例如,當用戶登錄時,我想要一個變量來保存用戶名。Android全局變量在類中是否擴展應用程序?

我應該創建一個MyApplication extends Application並在那裏添加變量,或者我應該創建一個帶有公共靜態變量的「MyGlobals」類嗎?

哪一個更好?爲什麼?

+0

如果要擴展您的應用程序類,可以覆蓋它的一些方法,在普通靜態變量的頂部。請不要忘記編輯你的清單。這就是我正在使用的,但在執行功能期間更改代碼時遇到了一些問題。 –

+0

最好的全局變量是_no全局變量_。登錄用戶的用戶名應該保存在可以提供有關登錄用戶的其他應用程序信息的實體中。 「孩子們」最近稱它爲「主持人」,但你可以隨心所欲地管理它。 Dagger(或依賴注入)很好,但增加了複雜性(很多)使事情變得「神奇」,並且讓「測試」更容易的事實被高估。是的,這很好,但匕首代碼的數量會增加......如果項目很小,而且你沒有Dagger體驗,那麼增加複雜性可能就不值得。 –

回答

1

在大多數情況下,一個類是擴展的,儘管存在其他解決方案。 擴展基android.app.Application類並添加成員變量:

public class MyApplication extends Application { 

    private String yourVar; 

    public String getYourVar() { 
     return yourVar; 
    } 

    public void setYourVar(String yourVar) { 
     this.yourVar = yourVar; 
    } 
} 
相關問題