2010-11-25 18 views
8

मेरे पास चार क्रियाकलापों वाला एक मौसम ऐप है। विषय = "@ एंड्रॉयड: शैली/Theme.Translucent.NoTitleBar" `गतिविधियों के बीच एक वस्तु साझा करना

... और बस कुछ चेकों करने के लिए प्रयोग किया जाता है मुख्य/लांचर गतिविधि 'अदृश्य' का उपयोग कर ...

एंड्रॉयड है (चाहे यह एक नया इंस्टॉल है, चाहे नेटवर्क कनेक्शन उपलब्ध है आदि) अन्य गतिविधियों में से एक को फायर करने से पहले। अन्य गतिविधियां यूआई-ओरिएंटेड हैं - एक वेबसाइट से खींचने वाले दो बस मौसम डेटा और तीसरे स्थान को 'पिकर' प्रदान करने के लिए ताकि उपयोगकर्ता चुन सकें कि किस क्षेत्र में मौसम दिखाना है।

हालांकि, सभी चार गतिविधियां एक मौसमहेल्पर ऑब्जेक्ट का उपयोग करती हैं जो मूल रूप से वरीयताओं को बनाए रखने और वेबसाइट पृष्ठों को खींचने/स्वरूपित करने के लिए उपलब्ध एसडी कार्ड स्टोरेज की जांच करने से सब कुछ करती है।

तो, मेरे प्रश्न (एस) ... वेदरहेल्पर का एक उदाहरण रखने का सबसे अच्छा तरीका क्या है जिसका उपयोग कई गतिविधियों द्वारा किया जा सकता है और मेरे मामले में इसे कहां बनाया जा सकता है?

मैं कई वर्षों से ओओ प्रोग्रामर रहा हूं लेकिन मैं एंड्रॉइड और डिजाइन अवधारणाओं के लिए बहुत नया हूं - मैंने पिछले हफ्तों में एंड्रॉइड डेवलपर्स साइट पर बहुत कुछ पढ़ा है लेकिन मैंने कोशिश कर बंद कर दिया है इस पर फैसला करने के लिए।

किसी भी विचार को कृतज्ञता से प्राप्त किया गया।

उत्तर

12

मैं आपको Application ऑब्जेक्ट में साझा जानकारी संग्रहीत करता हूं। इसे सबक्लास करें और वहां कोई अतिरिक्त प्रारंभिकरण और डेटा जोड़ें। आप अपनी गतिविधि से getApplication() का उपयोग कर अपना आवेदन प्राप्त कर सकते हैं, जिसे आप अपने विशेष संस्करण में डाल सकते हैं और साझा डेटा तक पहुंच सकते हैं।

यदि संभव हो तो मैं विशेष स्टार्टअप गतिविधि लॉन्च करने से भी बचूंगा और अपने एप्लिकेशन के ऑनक्रेट() ओवरराइड में काम करूंगा।

+0

धन्यवाद! 'पेड़ के लिए लकड़ी को देखने' में सक्षम नहीं होने का एक मामला - मैं गतिविधियों पर इतना ध्यान केंद्रित कर रहा था, मुझे बड़ी तस्वीर नहीं दिखाई दे रही थी। मैं स्टार्टअप गतिविधि से बचने के बारे में सहमत हूं (मुझे ऐसा करने की इच्छा नहीं है) - एप्लिकेशन का ऑनक्रेट() ओवरराइड एक बेहतर दृष्टिकोण साबित कर सकता है। – Squonk

+0

सिंगलटन का उपयोग करने के लिए एक और पूरी तरह से स्वीकार्य समाधान है, जिसे आलसी शुरू किया जा सकता है। – dhaag23

1

ठीक है, आपके सवाल का जवाब दिया गया है, लेकिन ऐसा लगता है जैसे कि यह Activity लांचर आशय है की onCreate() में अपने WeatherHelper वस्तु का दृष्टांत को बहुत सरल होगा, और WeatherHelper स्थिर हैं।

+0

मैंने सोचा कि वे पूरे आवेदन के जीवनकाल के दौरान जीवित थे। मुझसे गलती भी हो सकती है। – Snailer

+0

सुझाव स्नेलर के लिए धन्यवाद - यह एक विकल्प था जिसे मैं विचार कर रहा था लेकिन मैं सी ++ और सी # पृष्ठभूमि से जावा में नया हूं जहां 'स्थिर' (कुछ) अलग-अलग प्रभाव हैं - मैं बाद की तारीख तक प्रयोग छोड़ दूंगा। – Squonk

+0

कोई समस्या नहीं है। मैं जावा के लिए भी नया हूं, बस मदद करने की कोशिश कर रहा हूं! – Snailer

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

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