2011-11-05 12 views
16

इसलिए मैं एपीआई स्तर 7 के लिए अंतर्निहित ड्रॉएबल timepicker_up_btn का उपयोग करने का प्रयास कर रहा हूं। यह एसडीके में वास्तविक res फ़ोल्डर में है, और मैं उस फ़ोल्डर से अन्य संसाधनों का उपयोग कर सकता हूं । लेकिन मुझे त्रुटि संदेश मिलता है "संसाधन सार्वजनिक नहीं है"।त्रुटि संदेश प्राप्त करना "संसाधन सार्वजनिक नहीं है"

ऐसा लगता है कि Google इस संसाधन के उपयोग को सीमित करने की कोशिश कर रहा है। मुझे लगता है कि अगर मैं एंड्रॉइड एप्लिकेशन में इसका इस्तेमाल करता हूं तो उन्हें परवाह नहीं है और यह स्टॉक एंड्रॉइड के समान मेरे एप्लिकेशन का समग्र रूप बनाता है।

वैसे भी, क्या यह ठीक है? क्या मैं किसी भी तरह से अपने प्रोजेक्ट में कॉपी किए बिना गैर-सार्वजनिक संसाधन का उपयोग कर सकता हूं? और परियोजनाओं के मालिकों के लिए स्टॉक संसाधनों की प्रतिलिपि बनाने का सौदा क्या है? अवैध? असहमति प्रकट करना? या आगे बढ़ो हम परवाह नहीं है?

उत्तर

31

सबसे अच्छी बात यह है कि फ़ाइलों को हमारे आवेदन में कॉपी करना है। मुझे कुछ Google कर्मचारियों ने बताया था कि आपको संसाधनों का संदर्भ नहीं देना चाहिए, बल्कि उन्हें अपने आवेदन में कॉपी करना चाहिए।

इसके कारणों में से एक यह है कि यदि आप अपने आवेदन के लिए आइकन के पूरे समूह का संदर्भ देते हैं, तो आपको गारंटी नहीं है कि इनमें से प्रत्येक को उसी समय अपडेट किया जाता है जब एसडीके के नए संस्करण जारी किए जाते हैं। आप कुछ करने की तारीख फैंसी माउस और कुछ पुराने लोगों :)

+0

एक एपीआई स्तर से अगले तक निरंतरता के रूप में वे पहले से ही इतना बदलते हैं कि एंड्रॉइड जैसे कोड भी: layout_width कुछ और हो सकता है - यहां तक ​​कि सोचा कि उदाहरण बदलने की संभावना नहीं है। – Espen

+0

बिल्कुल, इसलिए आपको आवश्यक फ़ाइलों की प्रतिलिपि बनाएँ :) –

+0

उपरोक्त में संपादित करें जैसा कि मैंने गलती से दर्ज किया है और इसे 5 मिनट के बाद संपादित नहीं कर सकता है, इसलिए इसे ऊपर मेरी टिप्पणी में जोड़ें: उदाहरण के लिए timepicker_ को नवीनतम apis में numberpicker_ में बदल दिया गया है। तो adroid का उपयोग करते समय ट्रैक रखना: सामग्री किसी भी तरह की जरूरत है। ऐसा लगता है कि मुझे इन संसाधनों को मेरी परियोजना में कॉपी करना होगा, लेकिन अगर मैं स्टॉक संसाधनों का संदर्भ दे सकता हूं तो यह बहुत आसान होगा - और यह और अधिक सही महसूस करेगा। – Espen

2

तकनीकी रूप से आप संसाधन को एसडीके फ़ोल्डर से अपने संसाधन फ़ोल्डर में कॉपी कर सकते हैं और फिर इसे अपने आप के रूप में उपयोग कर सकते हैं। हालांकि मुझे यकीन नहीं है कि यह कॉपीराइट का उल्लंघन है या नहीं।

+4

यह बहुत सरल है। Google पाठ्यक्रम के कॉपीराइट को बनाए रखता है, लेकिन अपाचे लाइसेंस 2.0 की शर्तों के तहत आपके लिए एंड्रॉइड के सभी लाइसेंस लाइसेंस देता है। आप इसका उपयोग कर सकते हैं, बस लाइसेंस शर्तों से अवगत रहें। अनिवार्य रूप से उपयोगकर्ता को यह पता होना चाहिए कि उन्हें Google से ऐसे लाइसेंस प्राप्त सॉफ़्टवेयर प्राप्त हुए हैं। मैं एंड्रॉइड पर बहस करता हूं कि वे पहले ही ऐसा कर चुके हैं! –

+0

@ सेन: स्पष्टीकरण के लिए धन्यवाद! – slkorolev

3

Is there any way to use not public android resources in my application?

साथ खत्म हो सकता है आप उन्हें इस तरह

एंड्रॉयड देख सकते हैं: drawable = "@ * एंड्रॉयड: drawable/pressed_application_background_static "

लेकिन इसकी अनुशंसा नहीं की जाती है, क्योंकि भविष्य में निजी संसाधनों का नाम बदल दिया जा सकता है या हटा दिया जा सकता है।

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