2010-11-22 13 views
6

मेरी समझ के अनुसार में, सामग्री प्रदाता डेटाबेस सामग्री तक पहुँचने के लिए एक साधन है।Content_URI सामग्री प्रदाता

और डेटाबेस तक पहुंचने के लिए, प्राधिकरण भाग की आवश्यकता है। यह प्राधिकरण हिस्सा CONTENT_URI द्वारा प्रदान किया जाता है। इस प्रकार Content_URI डेटाबेस को अधिकार देने का माध्यम है। जहां तक ​​CONTENT_URI concerened है, यह रूप

content://com.example.transportationprovider/trains/122 
______ |____________________________________|_____ |___ 
    A      B      C  D 
Where A = Content, 
     B = Authority Part 
     c = Path determining what data to request 
     D = specific data 

परिदृश्य से ऊपर की आम तौर पर एक आदर्श परिदृश्य है, जहां-इन हम केवल डेटाबेस नाम के रूप में/गाड़ियों गुजरती हैं। लेकिन क्या होगा अगर, मैं निम्नलिखित content_uri है:

content://com.example.transportationprovider/land/bus/133 

इस मामले में, /land/bus पथ के सेगमेंट है।

लेकिन फिर आंतरिक रूप से डेटाबेस में यह डेटा कैसे संग्रहीत किया जाता है? या सामग्री प्रदाता इस डेटा की व्याख्या कैसे करता है?

कृपया मेरी मदद करें।

उत्तर

6

सरल उत्तर यह है कि यह डेटाबेस में संग्रहीत है हालांकि आपको पसंद है। पथ में सब कुछ, और नीचे डेटाबेस के पथ के मैपिंग, ContentProvider के लेखक द्वारा परिभाषित किया गया है।

अधिक या कम, आप जिस मॉडल का उपयोग करना चाहते हैं वह यह है कि आपके डेटाबेस में प्रति तालिका एक पथ है।

कुछ ऐसे मामले हैं जहां आप कुछ अतिरिक्त पथ चाहते हैं। आमतौर पर, इसका मतलब डेटाबेस के कुछ वैकल्पिक "दृश्य" को उजागर करना है ... Contacts API इसका एक बड़ा उदाहरण प्रदान करता है।

आप इस तरह के किराया "भूमि/बस" को लागू क्यों करना चाहते हैं? क्यों न सिर्फ "बस" और "ट्रेन"। एक एसक्यूएल टेबल प्रत्येक के साथ? एसक्यूएल टेबल जावा कक्षाएं नहीं हैं। उनके पास विरासत संबंध नहीं हैं और इस प्रकार की पट्टेबाजी आवश्यक नहीं है।

+0

आपकी पोस्ट के लिए धन्यवाद !!! अंत में, किसी ने मेरे प्रश्न का उत्तर देने की हिम्मत की। मैं किसी भी तरह के पदानुक्रम को लागू करने की कोशिश नहीं कर रहा था, लेकिन यह यादृच्छिक प्रश्न था जो मेरे दिमाग में आया था। – Ashish

+0

यूप, पथ के माध्यम से किराए पर लेने के लिए आमतौर पर आसान है, बल्कि तालिका संबंध या कोड के माध्यम से। उत्तर देने के लिए, मेरी खुशी। क्या आपके पास और प्रश्न हैं? अगर मेरी प्रतिक्रिया ने पूरी तरह उत्तर दिया है, तो कृपया इसे अपने प्रश्न को संतुष्ट करने के रूप में देखें। इससे "अनुत्तरित प्रश्न" सूची को दूर करने में मदद मिलेगी ताकि लोग देख सकें कि यह एक अच्छे उत्तर के साथ पूरा हो गया है। इसके अलावा, यह मेरी प्रतिष्ठा के साथ मेरी मदद करेगा। : पी – jcwenger

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