Глобальная переменная Android

Как я могу создать глобальную переменную, сохраняют, остаются значениями вокруг жизненного цикла приложения независимо который выполнение действия..

278
задан Sander Rijken 21 December 2009 в 21:59
поделиться

3 ответа

Вы можете расширить базовый класс 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();
509
ответ дан 23 November 2019 в 02:04
поделиться

Вы можете использовать одноэлементный шаблон следующим образом:

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
41
ответ дан 23 November 2019 в 02:04
поделиться

Можно использовать предпочтения приложения. Они доступны из любой активности или части кода до тех пор, пока вы передаете объект Context, и они являются конфиденциальными для приложения, которое их использует, так что вам не нужно беспокоиться о раскрытии конкретных значений приложения, если только вы не имеете дело с маршрутизируемыми устройствами. Тем не менее, вы можете использовать схемы хэширования или шифрования для сохранения значений. Также эти предпочтения сохраняются при запуске приложения. Вот некоторые примеры кода, на которые вы можете посмотреть.

13
ответ дан 23 November 2019 в 02:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: