मॉडल-व्यू-प्रेजेंटर (एमवीपी) जीयूआई अनुप्रयोगों के लिए एक प्रसिद्ध डिजाइन पैटर्न है। एंड्रॉइड के लिए, एक सादा जावा मॉड्यूल में व्यावसायिक तर्क को लागू करने से एंड्रॉइड एमुलेटर की आवश्यकता के बिना परीक्षण की सुविधा मिलती है।एंड्रॉइड में मॉडल-व्यू-प्रेजेंटर को लागू करने में कठिनाइयों
हालांकि, मैं कर रहा हूँ कठिनाइयों एंड्रॉयड आवेदनों की जीयूआई के लिए विशेष आवश्यकताओं की वजह से Android पर पैटर्न को लागू करने:
एक गतिविधि किसी भी बिंदु (आने वाली कॉल पर नष्ट कर दिया जा सकता है, उपयोगकर्ता घर बटन दबाता है, ...), और जब इसे पुनर्निर्मित किया जाता है तो यह उसी स्थिति में होना चाहिए जब इसे छोड़ा गया था। यह अधिकांश अन्य जीयूआई अनुप्रयोगों के विपरीत है।
एक गतिविधि कई जीवन चक्र राज्यों के माध्यम से जा सकती है। यह रोका जा सकता है कि किस मामले में गतिविधि के यूआई को संशोधित नहीं किया जाना चाहिए। यदि उदाहरण के लिए पृष्ठभूमि में कुछ डेटा लोड किया जा रहा है, तो इसे एमवीपी (गतिविधि) के दृश्य भाग में वितरित नहीं किया जा सकता है यदि यह किसी रुका हुआ स्थिति में है। फिर, यह एक असामान्य आवश्यकता है।
मैं ब्लॉग पोस्ट MVP for Android पढ़ सकते हैं और example source code पर ध्यान दिया है। एमवीपी पैटर्न का उपयोग करके मैं प्राप्त करने का प्रयास कर रहा हूं, ट्रांस्सेलर j2objc का उपयोग करके ऑब्जेक्टिव-सी में सभी व्यावसायिक तर्कों का अनुवाद करने में सक्षम होना चाहिए, जैसे कि आईओएस पर एक ही ऐप को लागू करते समय व्यवसाय तर्क का पुन: उपयोग किया जा सकता है।
क्या कोई ऐसा व्यक्ति है जिसने एंड्रॉइड के लिए सफलतापूर्वक एमवीपी पैटर्न लागू किया है, और उस स्थिति में, मुझे क्या याद आ रही है?
मैं क्या सोच रहा हूं: यदि आप व्यवसाय-तर्क मॉड्यूल 'संदर्भ' की आवश्यकता के बिना सादा जावा है, तो आपकी 'गतिविधि'-जीवन चक्र क्यों मायने रखती है? दूसरे शब्दों में, उन विशेष जीयूआई आवश्यकताओं को एक समस्या क्यों है? – Blacklight
यदि एमवीपी का 'व्यू' हिस्सा कुछ बिंदुओं पर अपडेट नहीं किया जा सकता है (जब इसे रोक दिया जाता है), तो 'प्रस्तुतकर्ता' या 'मॉडल' को पता नहीं होना चाहिए? और क्या 'मॉडल' नहीं बनाया जाना चाहिए ताकि इसे बाद में बहाल किया जा सके? – foens
कोई तर्क दे सकता है कि गतिविधि जीवन चक्र के प्रबंधन के लिए ज़िम्मेदार है और प्रस्तुतकर्ता को आवश्यकतानुसार सेट/रोकना/फाड़ना। प्रस्तुतकर्ता आपके सिस्टम पर निर्भर यूआई फ्रेमवर्क quirks के लिए कोई भी बुद्धिमान नहीं है। – dcow