Jest możliwość w kotlinie raz zadeklarować zmienną tak żeby była dostępna na wszystkich activity czy trzeba je zawsze przekazywać przez Intent?
mozesz np. w rozszerzonej klasie Application zdefiniowac sobie jakas zmienna publiczna i zrobic w aktivity wywolac
(applicationContext as <TwojaKlasa>).<twojaZmienna>
albo mozesz uzyc jakiegos staticka.
ogolnie zmienne globalne to zly pomysl :)
to najlepiej intentem przesylac te zmienne miedzy activity i czemu zmienne globalne to zly pomysl?
przekazywanie przez intent zawsze tworzy kopie zmiennej lub obiektu wiec modyfikacja zmiennej w jednym activity nie bedzie widoczna w innym activity. czyli
activity1.zmienna1 = 10
start.activity2.intent(zmienna1)
daje
activity2.kopia_zmienna1 = 10
i jak zmodyfikujesz kopia_zmienna1 = 20 to activity1.zmienna1 nadal bedzie rowna 10
napisz w jakim celu chcesz miec ta zmienna?
Wszystko zależy od celu tej zmiennej. Obiekt, który może byc lazy zainicjalizowany i dostepny jako jedyna instancja klasy, czyli singleton najlepiej ogarnąć za pomoca jakiejs biblioteka do DI jak Koin (modny wsrod kotlinowcow mobilnych) lub Javowy Dagger 2.
ActivityBuilder() posiada dimmer sub-klas
Niestety, są w PL typy, które za wszelką cenę starają się zabłysnąć modyfikując (nieumiejętnie) Androida i wciskając swój shit operatorom, a co za tym idzie - ludziom.
prostytutka nie spocznę dopóki nie zobaczę osóvb odpowiedzialnych za kratkami.
Dagger + singleton który trzyma stan lub nadpisz, Application i tam stwórz zmienna lub najgorsza opcja java singleton (enum)
Pamiętaj tylko że android może wyczyścić kontekst więc nie masz gwarancji że zawsze masz dostęp do tej wartości którą umieściłem.