मेरे पास गेमस्टेट मैनेजर सिंगलटन है जो मैं अपनी सभी गतिविधियों के लिए उपलब्ध करना चाहता हूं। विशेष रूप से मैं चाहता हूं कि ईवेंट ईवेंट के बजाय ईवेंट कॉन्टेक्स्ट का उपयोग करके ईवेंट मैनेजर के साथ ईवेंट को निकाल दिया जाए।RoboGuice 2.0 के साथ एंड्रॉइड ऐप - एप्लिकेशन संदर्भ के साथ सिंगलटन इंजेक्ट कैसे करें
GameStateManager सिंगलटन एनोटेशन
मैं Application.OnCreate दौरान GameStateManager इंजेक्षन करने की कोशिश की के साथ चिह्नित है (क्षमा करें, स्मृति, कॉपी और पेस्ट की नहीं से नीचे टुकड़ा आपके द्वारा लिखा गया है, तो गलत हो सकता है)
public void OnCreate(){
GameStateManager gameStateManager = RoboGuice.InjectMembers(this.getApplicationContext(), new GameStateManager())
}
मैंने सोचा कि GameStateManager का उदाहरण एप्लिकेशन संदर्भ के साथ बनाया जाएगा और चूंकि इसे सिंगलटन के रूप में एनोटेट किया गया है, इसलिए आवेदन संदर्भ के साथ बाद में उपलब्ध होगा। मैंने जो देखा वह यह था कि जब मैंने गेमस्टेट मैनेजर को एक गतिविधि में इंजेक्शन दिया, तो मुझे वास्तव में गतिविधि संदर्भ से जुड़ा एक नया सिंगलटन मिला। तो संक्षेप में मेरे पास 2 सिंगलेट हैं :)
एप्लिकेशन संदर्भ से जुड़ा एक वास्तविक 'सिंगलटन' कैसे है इस पर कोई विचार है?
धन्यवाद!
मैंने कोशिश की, और यह काम नहीं किया। अगर मुझे गलत नहीं लगता है, तो ContextSingleton आपको प्रति सिंगलटन नहीं देता है, जो वास्तव में अनुभव है जो मैं सिंगलटन के साथ देख रहा हूं और – Erds
जावाडोक का कहना है कि यह संदर्भ के लिए सिंगलटन होना चाहिए। अधिक खोज करने जा रहे हैं। तो अब तक इस जवाब को हटा दें। –
हटाने के लिए स्वतंत्र महसूस करें, मेरे पास वह विकल्प नहीं है – Erds