2012-05-17 20 views
10

मैं एंड्रॉइड एसडीके 2.3.3 के लिए एक एंड्रॉइड ऐप लिख रहा था लेकिन फिर मुझे एंड्रॉइड 2.2.1 चलाने वाले डिवाइस पर इसका परीक्षण करने के लिए कहा गया। इसलिए मैंने अपना लक्ष्य 10 के बजाय 8 पर सेट किया। लेकिन फिर java.util.concurrent.TimeUnit में जावा 1.6/1.7 फीचर सेट जावा के बजाय जावा 1.5 फीचर सेट था। Jut.util.concurrent.TimeUnit। इसलिए मैंने अपने एंड्रॉइड ऐप के लिए टाइमयूनीट के ओपनजेड 6 कार्यान्वयन को अपने पैकेज में रखा और सब कुछ ठीक काम करता है।एंड्रॉइड एसडीके समर्थन कोडिंग के कौन से संस्करण जावा के संस्करणों में कोडिंग?

क्या कोई जानता है कि मुझे कुछ दस्तावेज कहां मिल सकते हैं जो मुझे एक चार्ट देता है जो मुझे बताता है, उदाहरण के लिए, आधिकारिक एसडीके का उपयोग करते समय, एंड्रॉइड 2.2 को जावा 1.5 कीवर्ड/सिंटैक्स/एपीआई, एंड्रॉइड 2.3 का उपयोग करके कोड किया जाना है। 3 जावा 1.6 कीवर्ड/सिंटैक्स/एपीआई आदि का उपयोग करके कोड किया जा सकता है ...?

+0

यह मेरे लिए अजीब लगता है कि एंड्रॉइड आपको 1.5 का उपयोग करने के लिए मजबूर करेगा, क्योंकि जावा 1.6 एंड्रॉइड की तुलना में पुराना है। शायद यहां और भी जा रहा है। – jpaugh

+0

मैं शर्त लगाता हूं कि openjdk उस समय केवल 1.5 तक था और इसके साथ कुछ करने के लिए कुछ है। openjdk 7 2011/07/28 –

+0

डुप्लिकेट तक जारी नहीं किया गया था: http://stackoverflow.com/q/7535385/324625 और http://stackoverflow.com/q/390482/324625 –

उत्तर

6

आप एंड्रॉइड को जावा के सबसेट के रूप में देखने की कोशिश कर रहे हैं, जो यह नहीं है। वे पूरी तरह से अलग हैं। हालांकि एंड्रॉइड जावा से आता है, यह इसके रूप में काफी दूर चला गया है और दोनों के बीच अब कोई संस्करण 'संस्करण-वार' नहीं है।

आप एंड्रॉइड दस्तावेज क्या देख सकते हैं। प्रत्येक निर्देश/आदेश/विधि/गुणों के लिए, शीर्ष दाएं भाग पर आपको एपीआई स्तर मिलेगा जिस पर आप उस संपत्ति का उपयोग करने में सक्षम हैं।

एपीआई स्तर पर क्लिक करने से आपको उस पृष्ठ पर ले जाया जाएगा जिसमें एक सारणी है जो एपीआई स्तर को एंड्रॉइड संस्करणों में अनुवादित करती है।

अगर आपको किसी संपत्ति का उपयोग करने की अनुमति है तो पता लगाने का आसान तरीका ग्रहण का उपयोग कर रहा है और आपने जो किया है वह कर रहा है: लक्ष्य एपीआई स्तर बदलें। फिर आपके लिए उपलब्ध विधियों या गुणों के लिए कोई भी कॉल घातक त्रुटियों का उत्पादन नहीं करेगा।

+1

"और अब कोई सहसंबंध नहीं है दोनों के बिच में।" अच्छा यह सच नहीं है? – keyser

+0

@ केसर याहेल का मुद्दा यह प्रतीत होता है कि आपको समर्थन के लिए एंड्रॉइड संस्करणों को विशिष्ट जावा संस्करणों में मैप करने का प्रयास नहीं करना चाहिए - इसके बजाय आपको सीधे एंड्रॉइड दस्तावेज़ों की जांच करनी चाहिए। –

+0

@Keyser: यदि आप विस्तृत करना चाहते हैं :) – Yahel