5

मैं एक एंड्रॉइड ऐप लिख रहा हूं जहां मेरे पास एक चर की एक टन है जिसे मुझे किसी विशेष गतिविधि में उपयोग करने की आवश्यकता है (मूल रूप से, एक छोटे से गेम के लिए "डेटा मॉडल")। वर्तमान में, मैं उन्हें एक विशाल "कंटेनर" कक्षा में संग्रहीत कर रहा हूं ताकि मैं आसानी से उन्हें अपनी गतिविधि कक्षा को प्रदूषित किए बिना संदर्भित कर सकूं। उदाहरण:क्या छोटे पैमाने पर एंड्रॉइड की संसाधन प्रणाली के समान कुछ भी है?

public class Model 
{ 
    private int a; 
    private String b; 
    private float c; 

    ... 

    public int getA() 
    { 
     return a; 
    } 

    public void setA(int a) 
    { 
     this.a = a; 
    } 

    public String getB() 
    { 
     return b; 
    } 

    public void setB(String b) 
    { 
     this.b = b; 
    } 

    public float getC() 
    { 
     return c; 
    } 

    public void setC(float c) 
    { 
     this.c = c; 
    } 

    ... 
} 

जैसा कि आप देख सकते हैं, वे विभिन्न प्रकार के हैं, और सभी में गेटर्स और सेटर्स हैं। लेकिन यह उन्हें इस तरह भंडारित बोझिल हो रहा है। मैं चर के समूहों पर फिर से शुरू करना चाहूंगा, लेकिन इस फ्लैट गेटर/सेटर प्रारूप के साथ मैं वास्तव में ऐसा नहीं कर सकता।

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

मैं उन्हें Map<String, Object> संरचना में डालने की सोच रहा था, जहां मैं प्रत्येक चर को स्ट्रिंग कुंजी के माध्यम से संदर्भित कर सकता था। यह बहुत सारे गेटर्स और सेटर्स के साथ कंटेनर क्लास रखने की आवश्यकता को हटा देगा, क्योंकि मैं मानचित्र पर put या get पर कॉल कर सकता हूं। लेकिन फिर जब भी मैं मानचित्र से मूल्य प्राप्त करना चाहता हूं, तो मुझे अपेक्षित प्रकार पर जाना होगा। मुझे इसकी आवाज़ पसंद नहीं है।

किसी को भी बेहतर समाधान मिला है? क्या एंड्रॉइड की संसाधन प्रणाली के समान कुछ है जिसका उपयोग छोटे, अधिक अस्थायी पैमाने पर किया जा सकता है?

+0

। यकीन नहीं है कि क्या आपका मतलब है। – Tooroop

उत्तर

0

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

+0

प्रत्येक मॉडल ऑब्जेक्ट के लिए कक्षाएं परिभाषित करें? मुझे यकीन नहीं है कि इसका मतलब क्या है ... –

0

आप प्रत्येक गतिविधि के लिए एक कस्टम एक्सएमएल संसाधन फ़ाइल परिभाषित कर सकते हैं। इन फ़ाइलों को/xml फ़ोल्डर में/src फ़ोल्डर के समान स्तर पर संग्रहीत किया जाता है। उन्हें लोड करने के लिए संसाधन वर्ग का प्रयोग करें।

या इस मुद्दे पर एक नज़र डालें: यदि आप वर्ग बनाने के लिए और चर आप चर कहीं से भी एक्सेस कर सकते हैं स्थिर हैं Dynamic Resource Loading Android

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