Mam singleton GameStateManager, który chcę mieć do dyspozycji we wszystkich moich działaniach. W szczególności chcę, aby nasłuchiwał zdarzeń wypalonych z EventManager przy użyciu kontekstu aplikacji zamiast indywidualnego kontekstu aktywności.Aplikacja na Androida z RoboGuice 2.0 - Jak wstrzyknąć Singleton w kontekście aplikacji
GameStateManager oznaczona jest jednoelementowy adnotacji
próbowałem wstrzyknąć GameStateManager podczas Application.OnCreate (przepraszam, wpisane poniższy fragment z pamięci, a nie skopiowany i wklejony, więc mogą być niepoprawne)
public void OnCreate(){
GameStateManager gameStateManager = RoboGuice.InjectMembers(this.getApplicationContext(), new GameStateManager())
}
Myślałem, że instancja GameStateManager będzie skonstruowana z kontekstem aplikacji, a ponieważ jest opisana jako singleton, będzie dostępna później w kontekście aplikacji. Zauważyłem, że kiedy wstrzyknęłam GameStateManager w działanie, faktycznie dostałem nowy singleton związany z kontekstem aktywności. Tak więc w istocie mam 2 singletony :)
Jakieś pomysły na to, jak mieć prawdziwy singleton, który jest połączony z kontekstem aplikacji?
Dzięki!
Próbowałem tego i nie zadziałało. Jeśli się nie mylę, to nie ContextSingleton da ci singleton na kontekst, co jest w rzeczywistości doświadczeniem, które widzę z Singletonem. – Erds
Javadoc mówi, że powinno to być singelton dla kontekstu. Idę szukać więcej. Więc jak dotąd usuń tę odpowiedź. –
nie krępuj się usunąć, nie mam tej opcji – Erds