2011-07-10 18 views
6

मैं एप्लिकेशन को एंड्रॉइड फोन के लिए विशेष रूप से एक गेम बनाने जा रहा हूं।सिंगलटन बनाम इरादे (एंड्रॉइड)

मेरे पास कई गतिविधियां और कई कक्षाएं हैं इसलिए मैं गेम डेटा के संग्रहण के बारे में सोच रहा हूं।

गेम डेटा गतिविधियों के लिए दृश्यमान होना चाहिए, इसलिए मैं सोच रहा हूं कि मुझे वहां डेटा स्टोर करने के लिए सिंगलटन का उपयोग करना चाहिए और इसे किसी भी गतिविधि से आसानी से प्राप्त करना चाहिए या क्या मुझे इरादों का उपयोग करके डेटा पास करना चाहिए?

छोटी मात्रा और डेटा की बड़ी मात्रा होगी (स्कोर जैसे छोटे, मानचित्र जैसे बड़े आदि ..)।

स्कोर के लिए मैं इरादों का उपयोग करूंगा लेकिन फिर यह सब कुछ ठीक से बेहतर नहीं होगा? और यदि हां, तो मुझे लगता है कि पूरे गेम स्टेटस के साथ एक सिंगलटन बेहतर होगा। कोई विचार?

+1

के लिए Application देख सकते हैं आप एक ही डेटा की जरूरत है कई क्रियाकलापों के लिए दृश्यमान, एक सिंगलटन का उपयोग करें। यदि आपको किसी विशेष डेटा की अगली गतिविधि को सूचित करने की आवश्यकता है, तो अपने इरादे में अतिरिक्त उपयोग करें। व्यक्तिगत रूप से, मुझे लगता है कि दोनों का उपयोग करना बेहतर है; वे पारस्परिक रूप से अनन्य नहीं हैं। –

+1

चूंकि यह एक गेम है, इसलिए एक और अच्छा फिट सर्विसलोकेटर होगा: http://gameprogrammingpatterns.com/service-locator.html – mibollma

उत्तर

1

जब मैं डेटा कि कई गतिविधियों से प्रयोग किया जाता है मैं सिर्फ एक कस्टम आवेदन श्रेणी का निर्माण और उसके बाद के लिए इस्तेमाल किया है कि मेरी "सिंगलटन" के रूप में है और यह ठीक काम करता है हर गतिविधि तो कस्टम ऐप्लिकेशन संदर्भ का उपयोग कर सकते के बाद से है की जरूरत है

करने के लिए आपके प्रकट करने के लिए इस जोड़े बनाने और विस्तारित आवेदन वर्ग

public class MyApplication extends Application { 
    // Details left blank 
} 

द्वारा कि शुरू करते हैं, तो यह उपयोग करने के लिए है कि डिफ़ॉल्ट अनुप्रयोग

<application 
     ... 
     android:name=".MyApplication" 
के बजाय जानता है

तो है कि आप अपने गतिविधियों के सभी चाहते हैं का उपयोग करने की किसी भी कस्टम विधियों को जोड़ने, और जैसे

((MyApplication)this.getApplicationContext()).myMethod() 

कुछ प्रत्येक गतिविधि उपयोग से आप भी अधिक जानकारी के

+0

कस्टम एप्लिकेशन द्वारा आपका क्या मतलब है। बस एक सामान्य सिंगलटन पैटर्न वर्ग? मैं यह भी पूछ रहा हूं कि अच्छे अभ्यास और स्मृति/सीपीयू उपयोग के मामले में कौन सा बेहतर है। – Taks

+0

@ टैक्स आप एक कस्टम एप्लिकेशन क्लास बना सकते हैं, मैं उपर्युक्त उत्तर में संशोधन करूंगा, – Idistic

+0

द्वारा खड़े रहें। बहुत अच्छा काम करता है। –

संबंधित मुद्दे