有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓使用类在Java中存储静态数据?

创建一个单独的类并将其用作只包含静态数据变量的存储器,这是一个坏主意吗

我目前正在为安卓开发一个应用程序,但这个问题对于Java来说是一般性的

在安卓的情况下,我会在不同的活动中移动,我想在这个单独的类中存储一些全局/静态标志/变量,并能够从我想要的任何活动中访问它们

注:数据仅在会话时间内需要


共 (6) 个答案

  1. # 2 楼答案

    好吧!据我所知,这可能取决于你的项目规模!如果相对较大,最好使用单独的类来存储静态数据(不仅仅是一个类,您可能需要根据所使用的静态数据类型将它们保留为两个或多个类)

  2. # 3 楼答案

    这个主意不错。你可以在Android中使用这种类型的类。但这里有一个小的修正。您可以使该类扩展应用程序类并使用它存储数据,而不是维护保存静态数据的类

    举个例子

    public class HelloApplication extends Application {
            private int globalVariable=1;
    
            public int getGlobalVariable() {
                    return globalVariable;
            }
    
            public void setGlobalVariable(int globalVariable) {
                    this.globalVariable = globalVariable;
            }
            @Override
            public void onCreate() {
                    //reinitialize variable
            }
    }
    

    在你的活动中,这样做

    (HelloApplication)getApplication()).setGlobalVariable(10);
    int valiable=((HelloApplication)getApplication()).getGlobalVariable();
    

    Taken from here..

    说到SharedPreference,你应该考虑只在价值很长一段时间内才使用它们。如果没有,您应该使用应用程序类并使用setter和getter,这是合法的方法

  3. # 4 楼答案

    我建议“永远不要”使用全局变量

    当您访问另一个活动时,可以使用Intent.putExtras(Name_parameter, "value_parameter")抛出一些值

    并接收值:Bundle b = getIntent().getExtras();,其中b具有所有参数

    干杯

  4. # 5 楼答案

    您可以使用SharedReference来存储标志和变量

    看看这个Preference Demo

  5. # 6 楼答案

    我建议您使用应用程序类,而不是创建一个静态类来保存全局变量

    见链接:

    Android global variable