類似的帖子,沒有我正在尋找的答案。如何正確管理Android應用程序的上下文(非活動類)
Using Application context everywhere?
http://developer.android.com/reference/android/app/Application.html
Static way to get 'Context' on Android?
What's the difference between the various methods to get a Context?
問題描述:
我有一組實用工具類,其中一些w的儀式文件。其他人可能會使用數據庫等。關鍵是我的不只一個實用程序需要上下文 s。一個簡單的例子是通過context.getString(r.strings.id)從strings.xml中讀取。
我認爲在大多數情況下我想避免單身人士。除非絕對必要,否則我會與單身人士一起去。這已經解決併發布在其中一個鏈接上。我個人認爲他們是一種模式。只是個人選擇。我明白你的應用程序上下文根據定義是一個單例對象。每個應用程序上下文只有一個應用程序。如果是唯一的方法,我願意接受上述選項。
問:
我的工具類怎樣才能查看在我的應用程序上下文,這樣我可以簡單地做新MyContext()。此上下文需要具有對應用程序資源的引用。我認爲這被稱爲applicationContext()從一個活動調用時。理想情況下,這將是一個便宜的操作。
謝謝。
編輯:(澄清) 我正在編寫一個應用程序將自己綁定到的服務。我認爲這不應該影響答案。再次感謝。
不錯的第一個問題。好的解釋,加上顯示你已經知道。但是如果你不想使用ApplicationContext(),你在尋找什麼? – Entreco 2011-12-19 23:39:35
@Entreco:我當時希望能有一種優雅的方式來做同樣的事情。我確實想獲得ApplicationContext,並且我認爲在這種情況下接受一個單例是有意義的。 我其實下載了Froyo的整個android源代碼,看着谷歌正在處理這個問題的方式。事實證明,對於我所看到的所有類,上下文作爲參數傳遞,或者作爲arg。到Ctor或arg。到功能。 更具體地說,如果你看看froyo的發佈版本,在這個路徑下packages/apps/Contacts/src/com/android/contacts/util/* – agallego 2011-12-20 15:52:29