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

Art*_*ans 6 java android

创建一个单独的类并将其用作仅包含静态数据变量的存储是不是一个坏主意?

我目前正在开发一个Android应用程序,但问题是Java的一般问题.

在android的情况下,我正在跨越活动,我想在一个单独的类中存储一些全局/静态标志/变量,并能够从我想要的任何活动中访问它们.

PS.仅在会话时间内需要数据.

And*_*lva 6

嗯,这不是一个坏主意.您可以在Android中使用这种类型的类.但这里有一个小小的修正.您可以使该类扩展Application类并使用它来存储数据,而不是维护一个包含静态Data的类.

这是一个例子,

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
        }
}
Run Code Online (Sandbox Code Playgroud)

在你的活动中,这样做,

(HelloApplication)getApplication()).setGlobalVariable(10);
int valiable=((HelloApplication)getApplication()).getGlobalVariable();
Run Code Online (Sandbox Code Playgroud)

从这里采取..

说到SharedPreference,只有在值必须存储很长时间时才应考虑使用它们.如果没有,你应该使用Application类并使用setter和getter这是合法的方法.


Chi*_*rag 5

您可以使用SharedPreference存储标志和变量.

看看这个偏好演示.