2017-03-10 55 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; 
    } 
} 
相关问题