मेरे गेम ऐप में मैं उपयोगकर्ता को प्रारंभिक गतिविधि के दौरान Google Play सेवाओं में साइन इन करना चाहता हूं, इसलिए मेरे पास BaseGameActivity
उप-वर्ग था। फिर गेम के लिए एक अलग गतिविधि शुरू की जाती है, जिसके अंत में मैं Google Play सेवाओं का उपयोग करके लीडरबोर्ड अपडेट करना चाहता हूं, जिसके लिए BaseGameActivity.getApiClient()
पर कॉल करना आवश्यक है।कई गतिविधियों में BaseGameActivity.getApiClient() का उपयोग कैसे करें?
BaseGameActivity
उपclasses की तुलना में मैं एक अलग गतिविधि से Google Play सेवाओं का उपयोग कैसे करना चाहिए?
दो विकल्प मैंने सोचा था: प्रारंभिक गतिविधि का संदर्भ पास करें, या एक हैंडलर का उपयोग करें और प्रारंभिक गतिविधि को एक संदेश भेजें। लेकिन मुझे नहीं पता कि किस विधि का उपयोग करना बेहतर होगा (या यदि कोई तीसरा तरीका बेहतर है) और ऐसा लगता है कि यह काफी आम स्थिति हो सकती है।
क्या 'बेसगेम एक्टिविटी' से दोनों गतिविधियों को उपclass करने का कोई कारण नहीं है और जिस पर मैं स्वचालित रूप से साइन-ऑन नहीं करना चाहता हूं 'getGameHelper()। SetMaxAutoSignInAttempts (0); '? – GDanger
आप ऐसा कर सकते हैं लेकिन 'बेसगेम एक्टिविटी' के 'ऑनक्रेट() 'प्रत्येक गतिविधि के लिए' एमहेल्पर 'को फिर से बनाएंगे और नई ऑब्जेक्ट की स्थिति जरूरी नहीं होगी - यानी नई ऑब्जेक्ट के आंतरिक राज्य इस बात को प्रतिबिंबित नहीं कर सकते हैं कि आप पहले से ही साइन-ऑन (या इसके विपरीत) हैं। मुझे यकीन है कि इसे ठीक से सिंक करने का एक तरीका है, लेकिन यह 'गेमहेल्पर' का स्वतंत्र रूप से उपयोग करने के विरोध में प्रयास की तरह लगता है। – free3dom
'गेमहेल्पर' का स्वतंत्र रूप से उपयोग करने वाला मुद्दा AFAIK है, गतिविधियों के बीच अनियमित/पार्सेबल ऑब्जेक्ट्स (जैसे 'गेमहेल्पर') पास करने का कोई अच्छा तरीका नहीं है और इसे स्थैतिक बनाना एक बुरा विचार जैसा लगता है क्योंकि 'गेमहेल्पर' गतिविधि का संदर्भ रखता है जिसने इसे बनाया – GDanger