मेरे पास एक प्रोजेक्ट है (एक्लिप्स में) जिसे मैंने एंड्रॉइड प्रोजेक्ट लाइब्रेरी में बदल दिया है ताकि किसी अन्य प्रोजेक्ट में कोड का दोबारा उपयोग किया जा सके। मुझे लगता है कि मैं अपने आप को पैर में गोली मार दी किया है लेकिन जैसा कि मैंने त्रुटि हो रही है:एंड्रॉइड प्रोजेक्ट लाइब्रेरी में क्लास विस्तारित एप्लिकेशन?
Unable to start activity ComponentInfo{com.test.scroller1/com.lib.scrolltest.ScrollTestActivity}: java.lang.ClassCastException: android.app.Application cannot be cast to com.lib.scrolltest.resAppVars
com.lib.scrolltest मेरी परियोजना लाइब्रेरी जो एक वर्ग का विस्तार आवेदन (resAppVars) को दर्शाता है है। विधि OnCreate() में मैं फोन:
mRav = (resAppVars) getApplicationContext();
इस तरह, मैं इस तरह के एक सामान्य चयन बयान के एक प्रश्न गुजर के रूप में mRav वस्तु में तरीकों जो अन्यथा अन्य वर्गों में डुप्लिकेट किए गए कोड का एक बहुत कुछ होगा (उपयोग कर सकते हैं जो परिणामों के एक ArrayList देता है)।
यहां समस्या क्या है? ऐसा लगता है कि मैंने आवेदन कक्षा को लागू करने के तरीके में एक सीमा को मारा है।
धन्यवाद लेकिन स्थिर चर (सिंगलेट्स) एंड्रॉइड में सबसे अच्छा तरीका नहीं है। आवेदन जीवन चक्र के कुछ उदाहरणों में स्टेटिक वर्र्स को डिफ़ॉल्ट मानों में प्रारंभ किया जा सकता है। http://stackoverflow.com/questions/2475978/using-static-variables-in-android http://electronicvendor.com/using-static-variables-in-android/ मैं आपको जवाब देने के लिए समय लेने की सराहना करता हूं। – wufoo
जहां तक मुझे पता है, आपके ऐप की प्रक्रिया के जीवनकाल के लिए एक सिंगलटन मौजूद होगा। प्रक्रिया आपके ऐप के भीतर कम से कम किसी भी गैर-नष्ट घटक (गतिविधि, सेवा, आदि) के रूप में लंबे समय तक रहता है। –
@ वाफू मैं अभी भी समझ में नहीं आता क्यों स्थिर सिंगलेट खराब हैं। मेरा मतलब है, एंड्रॉइड प्रलेखन स्वयं अनुप्रयोग वर्ग को वर्गीकृत करने के बजाय उनका उपयोग करने के लिए कहता है। यह इतना बुरा कैसे हो सकता है ?? –