Android - 在多个活动中使用相同的变量

时间:2017-04-07 14:30:09

标签: android performance

在我看来,我有一组在近90%的代码中使用的变量。 为了解决这个问题,我通过使用意图并将其作为额外的活动传递给它:

intent = new Intent(getApplicationContext(), nextActivity.class);
intent.putExtra("token",getIntent().getExtras().getString("token"));
startActivity(intent);

问题是:因为它是一堆变量,代码有时会变得有点混乱,我需要多次编写相同的代码行,这看起来很愚蠢。

所以,我的问题是,是否有其他方法可以做到这一点,例如可以被所有活动读取的全局变量(看起来也像是一个肮脏的解决方案)。

谢谢你, 佩德罗。

3 个答案:

答案 0 :(得分:1)

将这些变量值保存为SharedPreferences,以便您可以在应用程序中的任何位置访问它。

答案 1 :(得分:0)

我建议扩展应用程序(参见https://developer.android.com/reference/android/app/Application.html

创建一个看起来像

的新类
public class MyApplication extends Application {
//your variable here
}

在AndroidManifest.xml中指定使用MyApplication:

<application
      android:name=".package.name.MyApplication"
      ....

并在您的活动中使用

((MyApplication)getApplication()).getYourStuff();

答案 2 :(得分:0)

如果在这些变量中修改了值,则创建一个类并将这些变量声明为static,final。然后,您可以通过以下方式访问它们:

ClassName.VariableName;

如果值每次都更改,请使用SharedPreference。这是我使用SharedPreferene

的答案之一的链接

https://stackoverflow.com/a/37088866/5534549