2012-06-02 19 views
7

मैं एंड्रॉइड प्रो नहीं हूं हालांकि मैंने 50 से अधिक गतिविधियों से युक्त एक ऐप विकसित किया है जो ऐप को वास्तव में बड़ा बनाता है। विकास के 8 सप्ताह बाद, अब ऐसी समस्याएं हैं जिनसे ऐप को बनाए रखना और अपग्रेड करना मुश्किल हो गया है। मेजर उनके जो मेरे साथ काम कर रहा हूँ रहे हैंएंड्रॉइड: एकल गतिविधि, एकाधिक विचार

  1. मैं गतिविधियों 'कंस्ट्रक्टर्स के लिए ऑब्जेक्ट संदर्भ पारित नहीं कर सकते हैं। वास्तव में मुझे startActivityForResult - Intent - onActivityResult वास्तव में सीमित और परिणामों के लिए क्रियाओं के लिए कई स्थिरांक के गंदे कोड में परिणाम और switchcase का तंत्र पाया गया है जो ऐप के प्रवाह का पालन करना वाकई मुश्किल है।

  2. एक और समस्या यह है कि मुझे नहीं पता कि पूरे ऐप के जीवन चक्र को कैसे प्रबंधित किया जाए क्योंकि प्रत्येक गतिविधि का अपना जीवन चक्र होता है।

मैं LWUIT और J2ME – polish जो जे 2 एमई MIDlets (एंड्रॉयड गतिविधि के समान) पर ध्यान न दें और एप्लिकेशन के लिए प्रवेश के रूप में सिर्फ एक MIDlet के साथ अपने स्वयं वास्तुकला और विंडोइंग प्रणाली को लागू करने के साथ कुछ सफल अनुभव था। मैं एंड्रॉइड के लिए एक ही विचार के साथ आया हूँ।

स्पष्ट करने के लिए, मैं सिर्फ एक मुख्य Activity और अन्य वस्तुओं जो View वस्तु का विस्तार करने और इन विचारों को गतिशील रूप से मुख्य गतिविधि FrameLayout में जोड़ा जा सकता है और ढेर एक दूसरे पर के रूप में लागू की गतिविधियों से कोई ऐप के बारे में सोच रहा हूँ। इस तरह के वर्गों में क्रियाकलापों का तर्क लागू किया जा सकता है और मुझे इस तरह से संवाद लागू करने का एक तरीका भी मिला है। व्यवसाय और राज्य वस्तुओं को उनके कन्स्ट्रक्टर को पास किया जा सकता है और यह थोड़ा और कोड लिखने के अपने दुष्प्रभाव को अनदेखा कर रहा है। इस तरह श्रोताओं को विचारों के रचनाकारों को भी पारित किया जा सकता है जो ऐप यूआई स्विच और प्रवाह प्रबंधन को आसान बनाता है।

लेकिन सवाल कर रहे हैं:

  • यह एक अच्छा अभ्यास है?
  • क्या यह मुझे प्रदर्शन या स्मृति समस्याओं के लिए नेतृत्व नहीं करेगा?

मैं भी

इनमें से कोई नहीं स्पष्ट रूप से उचित सबूत या दस्तावेज संदर्भ में प्रदर्शन या व्यवहार के बारे में मुद्दों का समाधान कर रहा हूँ

कृपया कोई मेरी मदद करें

+0

जब प्रोजेक्ट बहुत बड़ा होता है, तो कोड को ठीक तरह से डिज़ाइन किया जाना चाहिए, सभी सामान्य कार्यक्षमताओं को बाहर निकालें। डेटा की बेहतर संरचना (बेहतर डेटा संरचनाएं)। ये मेरे अनुसार होगा बहुत सारे कोड को कम करने में मदद करें। – sat

+0

वास्तव में मैंने ऐसा किया है। मैंने अर्द्ध एमवीवीएम पैटर्न का पालन किया है हालांकि एंड्रॉइड डेटा बाइंडिंग का समर्थन नहीं करता है। यूआई परत में रहने वाली प्रमुख समस्याएं और दृश्य स्विचिंग और चमकते हुए विचार। – anonim

उत्तर

6

बाजार में केवल एक या कुछ गतिविधियों के साथ लोकप्रिय ऐप्स हैं। वे टुकड़ों का उपयोग करते हैं और उन्हें स्विच करते हैं। मैं आपके दृष्टिकोण पर टुकड़े पसंद करूंगा। हालांकि मुझे लगता है कि कई प्रयोजनों के लिए टुकड़े बहुत जटिल हैं, आपके उपयोग के मामले में यह एक अच्छा समाधान होगा। आपका यूआई व्यवहार टुकड़ों में होना चाहिए, और आपकी गतिविधि नियंत्रक भाग आपके टुकड़ों के बीच डेटा स्थानांतरित कर रही है। टुकड़ों में भी अपना जीवन चक्र होता है।

मुझे startActivityForResult पसंद नहीं है।यदि मेरे पास गतिविधियों का एक सेट है - सभी डेटा प्रदान करते हैं - और मुझे नहीं पता कि उन्हें किस क्रम में बुलाया जाएगा, तो मैं गतिविधियों के बीच डेटा ट्रांसमिशन के इरादे का उपयोग करके सिंगलटन क्लास का उपयोग करना पसंद करता हूं। लेकिन आपको एक अच्छा समाधान पाने के लिए अपनी समस्या का विश्लेषण करना होगा।

+0

वास्तव में मैंने सिंगलटन पैटर्न का भी शोषण किया है क्योंकि ऐप एकल उपयोगकर्ता है लेकिन मेरी समस्या इरादों के साथ है। मैं श्रोताओं को क्रमबद्ध नहीं कर सकता और उन्हें उपयोगकर्ता क्रियाओं और फ्रैगमेंट के आधार पर कॉलबैक प्रोसेसिंग के लिए अन्य गतिविधियों में पारित कर सकता हूं, मैं पूरी तरह से आपके साथ जाता हूं, हालांकि जब मैंने प्रोजेक्ट शुरू किया तो मुझे टुकड़ों से अनजान था और अब परियोजना समयरेखा के मध्य में मुझे डर है उनका उपयोग करने के कारण मैं उनसे पूरी तरह से परिचित नहीं हूं। मैं उन्हें ऐप के अगले संस्करण में उपयोग कर सकता हूं। धन्यवाद – anonim

+4

नियंत्रकों और शेष एंड्रॉइड ढांचे के बीच मध्यस्थ के रूप में एक ही गतिविधि का उपयोग करके एंड्रॉइड के शीर्ष पर उचित एमवीसी फ्रेमवर्क बनाने के लिए कितना पागल होगा? एकल पृष्ठ अनुप्रयोगों के साथ वेब दुनिया में क्या हो रहा है के समान। अगर आप इस पर सहयोग करने में रुचि रखते हैं तो मुझे संदेश/ईमेल करें। :) – Marchy

+0

मैं इस समय उबाऊ हूं लेकिन यदि आप ऐसी परियोजना शुरू करते हैं तो आप मुझसे संपर्क कर सकते हैं संभव है कि मैं भविष्य में कुछ समय बिता सकता हूं। –

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