मैं एक एंड्रॉइड ऐप विकसित कर रहा हूं जिसमें मुझे रनटाइम पर अनुमतियां मांगनी होंगी। मैं मॉडल-व्यू-प्रेजेंटर आर्किटेक्चर का उपयोग करके इसे लागू करने का सबसे अच्छा तरीका सोच रहा हूं।एमवीपी आर्किटेक्चर का उपयोग कर रनटाइम पर अनुमतियों की जांच करने का सबसे अच्छा तरीका क्या है?
मेरा प्रारंभिक विचार था कि प्रेजेंटर अनुमतियों के लिए जिम्मेदार घटक को कॉल करें (PermissionHandler
कहें), और तदनुसार अपडेट अपडेट करें।
मुद्दा यह है कि अनुमतियों की जांच करने के लिए कोड गतिविधि वर्ग के साथ कसकर मिलकर है। यहाँ है कि एक गतिविधि या संदर्भ की आवश्यकता शामिल तरीकों में से कुछ हैं:
ContextCompat.checkSelfPermission()
ActivityCompat.shouldShowRequestPermissionRationale()
ActivityCompat.requestPermissions()
onRequestPermissionsResult()
(कॉलबैक)
इसका मतलब यह है कि मैं एक पारित करने के लिए होता है प्रस्तुतकर्ता को गतिविधि ऑब्जेक्ट, जिसे मुझे ज्यादा पसंद नहीं आया क्योंकि मैंने सुना है कि एंड्रॉइड कोड से अपने प्रेजेंटर को मुक्त रखना टेस्टिन के लिए अच्छा है जी।
इसके कारण, मैंने फिर दृश्य स्तर (गतिविधि में) पर अनुमतियों को संभालने के बारे में सोचा, लेकिन फिर मुझे लगता है कि यह केवल व्यावसायिक तर्क के बिना यूआई अपडेट के लिए जिम्मेदार दृश्य को छोड़ने के उद्देश्य को नुकसान पहुंचाएगा।
मुझे यकीन नहीं है कि कोड को यथासंभव decoupled और रखरखाव के रूप में रखने से निपटने के लिए सबसे अच्छा तरीका क्या होगा। कोई विचार?
क्या यह दृष्टिकोण सुरक्षित होगा? क्या यह स्मृति रिसाव उत्पन्न नहीं करना चाहिए? – fobo66