[Android] dostęp do obiektu

0

Jestem nowy w temacie Javy i nie wiem jak się uporać z jednym problemem.
A mianowicie potrzebuję w Androidzie dostępu do jednego obiektu z poziomu wielu klas.
Ogólnie, żeby raz utworzony obiekt był wszędzie dostępny.

Tzn mam:
class Activity1{
Obj obj = new Obj();
}

i z tego samego obiektu potrzebuje skorzystać w klasie Activity2;

Wiem, że można przekazywać dane przez Intent, ale jednak szukam jakiegoś bardziej eleganckiego rozwiązania.

0

Ogólnie, żeby raz utworzony obiekt był wszędzie dostępny.

Jest sporo rozwiązań. Na początek możesz zaznajomić się z:

  • wzorcem singleton, choć nie jest to często dobre rozwiązanie, przede wszystkim singletony utrudniają testowanie,
  • wstrzykiwaniem zależności, np używając Google Guice i jego adnotacji,

Globalny mutowalny stan (tzn pola typu public static i nie będący stałą) to najgorsze rozwiązanie z możliwych pod względem testowalności czy rozszerzalności.

0

Dzięki za odpowiedź.

0

Można jeszcze zrobić tak: http://stackoverflow.com/questions/1944656/android-global-variable (2post)

tylko zamiast tego:
((MyApplication) this.getApplication()).setSomeVariable("foo");

możesz po prostu raz utworzyć obiekt, a później z niego korzystać:

MyApplicaition app = ((MyApplication)getApplicationContext());
app.setSomeVariable("foo");

1 użytkowników online, w tym zalogowanych: 0, gości: 1