Android: Zugriff auf Ressourcen, ohne eine Tätigkeit oder dem Kontext, refeerence
Ich bin Entsendung diese Frage in der Hoffnung, dass ich eine Art definitive Antwort.
Ist es wirklich unmöglich, den Zugriff auf Ressourcen, ohne eine Tätigkeit oder dem Kontext, Referenz. Weitergabe um solche Referenzen, wenn alles, was erforderlich ist, um den Zugriff auf bestimmte Werte oder Vermögenswerte oder-strings, die haben nichts zu tun mit der Benutzeroberfläche sorgt für übermäßig komplizierten code.
Plus all die möglichen hängende Verweise.
Auch diese völlig Ruinen verschiedener Design-Patterns wie Singleton, mit Parameter, wenn du die Instanz.
Setzen einen statischen Verweis
Also gibt es eine Möglichkeit oder spielt die ganze community nur Leben mit diesem problem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Ihre Ressourcen gebündelt, um einen Kontext, es ist eine Tatsache, und Sie kann das nicht ändern.
Hier ist was Sie tun können:
Erweitern
Application
, Holen Sie die Anwendung, Kontext und verwenden, als eine statische Hilfsmethode.Ihrem manifest:
getResources
da es gibt schon eine nicht-statische member-Methode genanntgetResources
geerbt vonContextWrapper
, siehe hiergetResouces()
zugetResourcesSafe()
oder soMachen Sie Ihre
Application
Klasse ein singleton ist und dass die Verwendung. Es ist einContext
. Alle Ressourcen gebunden sind, um Ihre app, so müssen Sie eineContext
Referenz. Sie können pre-load strings, etc. in einer singleton-Klasse, wenn Sie nicht möchten, laden Sie Sie dynamisch.