2015-02-26 17 views
19

में प्रतीक 'java.time.LocalDate' त्रुटि को हल नहीं कर सकता है। मैं अपने एंड्रॉइड ऐप में java.time.LocalDate का उपयोग करने की कोशिश कर रहा हूं, हालांकि अगर मैं इसे आयात करने का प्रयास करता हूं, तो java.time से कोई भी वर्ग एक नहीं दे सकता Android स्टूडियो में प्रतीक त्रुटि त्रुटि 1.1एंड्रॉइड स्टूडियो

एकमात्र कारण यह है कि मैं इसके लिए पता लगा सकता हूं कि यह जावा 8 का समर्थन नहीं करता है। क्या वाकई यह मामला है?

+0

वह अन्य प्रश्न वास्तव में एक डुप्लिकेट नहीं है। यह सामान्य रूप से जावा 8 के बारे में पूछता है, जबकि यह प्रश्न कक्षाओं के एक विशिष्ट पैकेज पर केंद्रित है। और अब 2016 में, आप एंड्रॉइड विकास में जावा 8 भाषा सुविधाओं का उपयोग कर सकते हैं लेकिन java.time कक्षाओं का उपयोग नहीं कर सकते हैं। तो दो अलग-अलग समस्याएं, दो अलग-अलग समाधान, और दो अलग-अलग प्रश्न। संकेत के लिए –

उत्तर

5

हां, एंड्रॉइड जावा -8 का समर्थन नहीं करता है।

http://code.google.com/p/android/issues/detail?id=62192

वर्तमान में कोई गूगल में JSR-310 (java.time-पैकेज) को लागू करने की योजना है: और नई तिथि/समय-एपीआई जावा-8 में निहित के बारे में, आप इस मुद्दे पर देख सकते हैं एंड्रॉयड।

10

एंड्रॉयड एपीआई स्तर 26

एंड्रॉयड एपीआई स्तर 26 अपने LocalDate वर्ग को शामिल करने की java.time एक कार्यान्वयन प्राप्त की।

इससे पहले एंड्रॉयड

एंड्रॉयड < 26 के लिए, विकल्प शामिल हैं:

  • ThreeTen-Backport एक & 7.
    • ThreeTenABP जावा से 6 java.time कार्यक्षमता का ज्यादा के पीछे बंदरगाह है एंड्रॉइड को थ्रीटेन-बैकपोर्ट अनुकूलित करता है।
  • Joda-Time आमतौर पर एंड्रॉइड प्रोजेक्ट्स में उपयोग किया जाता है। जोडा-टाइम जावा 8 में जावा.टाइम पैकेज को प्रेरित करता है, लेकिन वे ड्रॉप-इन प्रतिस्थापन नहीं हैं। जोडा-टाइम टीम java.time पर माइग्रेशन की सलाह देती है।
+0

+1 कि थ्रीटन-बैकपोर्ट एक पूर्ण बैकपोर्ट नहीं है (i18n-support बदले गए वातावरण और कम कैलेंडर समर्थन के कारण अलग है)। –

+0

जावा.टाइम API26 में जोड़ा गया था https://developer.android.com/reference/java/time/LocalDate.html –

+0

@ maracuja-juice तो मेरे संशोधित उत्तर में नोट किया गया। धन्यवाद –

2

अंत में जावा 8 में निहित दिनांक/समय-एपीआई एंड्रॉइड एपीआई स्तर 26 में जोड़ा गया है जिसे हाल ही में रिलीज़ किया गया था।

DateTimeFormatter API 26

+1

लेकिन बेकार क्योंकि यह केवल तभी समर्थन करता है जब आपका वर्तमान न्यूनतम एसडीके 26 है – Hamza

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