Как я могу создать глобальную переменную, сохраняют, остаются значениями вокруг жизненного цикла приложения независимо который выполнение действия..
Вы можете расширить базовый класс android.app.Application
и добавить переменные-члены следующим образом:
public class MyApplication extends Application {
private String someVariable;
public String getSomeVariable() {
return someVariable;
}
public void setSomeVariable(String someVariable) {
this.someVariable = someVariable;
}
}
В манифесте android вы должны объявить класс, реализующий android.app.Application (добавить android:name=". MyApplication"
атрибут к существующему тегу приложения):
<application
android:name=".MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name">
Затем в своих действиях вы можете получить и установить переменную так:
// set
((MyApplication) this.getApplication()).setSomeVariable("foo");
// get
String s = ((MyApplication) this.getApplication()).getSomeVariable();
Вы можете использовать одноэлементный шаблон
следующим образом:
package com.ramps;
public class MyProperties {
private static MyProperties mInstance= null;
public int someValueIWantToKeep;
protected MyProperties(){}
public static synchronized MyProperties getInstance() {
if(null == mInstance){
mInstance = new MyProperties();
}
return mInstance;
}
}
В своем приложении вы можете получить доступ к одноэлементному шаблону следующим образом:
MyProperties.getInstance().someValueIWantToKeep
Можно использовать предпочтения приложения. Они доступны из любой активности или части кода до тех пор, пока вы передаете объект Context, и они являются конфиденциальными для приложения, которое их использует, так что вам не нужно беспокоиться о раскрытии конкретных значений приложения, если только вы не имеете дело с маршрутизируемыми устройствами. Тем не менее, вы можете использовать схемы хэширования или шифрования для сохранения значений. Также эти предпочтения сохраняются при запуске приложения. Вот некоторые примеры кода, на которые вы можете посмотреть.