2010-10-29 11 views
6

क्या कोई जावा याम लाइब्रेरी एंड्रॉइड के लिए सांप्यामल के रूप में अच्छी है? (या क्या कोई भी एंड्रॉइड पर स्नैक्यैम का सफलतापूर्वक उपयोग कर रहा है?)क्या एंड्रॉइड के लिए एक अच्छी याम पुस्तकालय है?

उत्तर

5

मुझे नहीं लगता कि आप बिना किसी संशोधन के एंड्रॉइड पर SnakeYaml का उपयोग कर सकते हैं (कम से कम अब)।

डिफ़ॉल्ट रूप से, SnakeYaml Introspector का उपयोग करता कक्षाओं के लिए PropertyDescriptors प्राप्त करने के लिए, और मैं देख सकता हूँ java.beans.Introspector Android पर उपलब्ध नहीं है। लेकिन SnakeYaml में BeanAccess.FEILD मोड है जो फ़ील्ड का उपयोग डंप/लोड बीन्स के लिए करता है। वह मोड एंड्रॉइड पर उपलब्ध केवल java.lang.reflect कक्षाओं का उपयोग करता है।

तो, कुछ संशोधनों के साथ यह काम कर सकता है। लेकिन मुझे यह सुनिश्चित करने की कोशिश करनी है।

जोड़ा गया

SnakeYaml की अब एंड्रॉयड संगत संस्करण का उपयोग कर निर्माण किया जा सकता है:

mvn -Pandroid clean package

अद्यतन (मार्च 2017):

1.18 एंड्रॉयड निर्माण में है से शुरू केंद्रीय। आप अपने pom.xml में निर्भरता जोड़ सकते हैं जैसे

<dependency> 
    <groupId>org.yaml</groupId> 
    <artifactId>snakeyaml</artifactId> 
    <version> VERSION </version> 
    <classifier>android</classifier> 
</dependency> 
+0

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

+1

हाँ। यह संशोधन के बिना बनाया नहीं था। लेकिन ... यह काम करना चाहिए: http://code.google.com/p/snakeyaml/downloads/detail?name=snakeyaml-android-1.8-SNAPSHOT.jar याद रखें कि यह वर्गों पर फ़ील्ड का उपयोग करता है, सेटर्स और गेटर्स नहीं! !! इससे कोई फर्क नहीं पड़ता कि आपने 'BeanAccess.xxx' मोड को सेट किया है, यह हमेशा' BeanAccess.FIELD' है। कृपया इसे आजमाएं। मैंने Android के बारे में कोई समस्या बनाई है http://code.google.com/p/snakeyaml/issues/detail?id=92 वहां टिप्पणियां रखने के लिए स्वतंत्र महसूस करें। – maslovalex

+0

उस संशोधित संस्करण को उपलब्ध कराने के लिए धन्यवाद! – MountainX

0

मुझे लगता है कि आपको कम से कम सीधे सांप्यामल का प्रयास करना चाहिए। इस तरह की लाइब्रेरी के लिए यह अत्यधिक संभावना है कि आवश्यक जावा एपीआई सेट एंड्रॉइड में उपलब्ध है।

यदि यह काम नहीं करता है, तो आप एंड्रॉइड प्रोजेक्ट में सांप्यामल स्रोत कोड आयात करने का प्रयास कर सकते हैं और देख सकते हैं कि संकलित नहीं होता है। थोड़ी किस्मत के साथ लापता एपीआई के आसपास काम करना संभव होगा।

+0

आपके प्रोत्साहन के लिए धन्यवाद। मेरे सीमित अनुभव (अभी तक कोई एंड्रॉइड डेवलपमेंट नहीं) के साथ, मैं उम्मीद कर रहा था कि किसी और ने पहले ही यह कोशिश की होगी। लेकिन मुझे सांप्यामल पसंद है, इसलिए यह अच्छा होगा अगर यह एंड्रॉइड पर काम करता है। – MountainX

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