Передача настраиваемых объектов между действиями?

Передача ссылкой является просто синтаксическим сахаром для pass-by-address/pointer. Таким образом, функция должна неявно разыменовать указатель для чтения значения параметра. Разыменование указателя могло бы быть более дорогим (если в цикле) затем копия структуры для копии значением.

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

9
задан Skizit 11 April 2011 в 12:17
поделиться

1 ответ

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

Вот пример:

public class DadosComuns extends Application{

    private String nomeUsuario="";

    public String getNomeUsuario() {
        return nomeUsuario;
    }

    public void setNomeUsuario(String str) {
        nomeUsuario = str;
    }
}

Во всех Ваших операциях других, Вы просто должны инстанцировать одного объекта "DadosComuns", declarating как Глобальная переменная.

private DadosComuns dadosComuns;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    //dados comuns
    dadosComuns = ((DadosComuns)getApplicationContext());

    dadosComuns.setNomeUsuario("userNameTest"); }

Все операции других, которых Вы инстанцируете dadosComuns = ((DadosComuns)getApplicationContext ()); можно получить доступ getNomeUsuario () == "userNameTest"

В Вашем AndroidManifest.xml , Вы должны иметь

<application
        android:name=".DadosComuns"
0
ответ дан 4 December 2019 в 09:59
поделиться
Другие вопросы по тегам:

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