2010-03-07 16 views
5

मैं जावा/ग्रहण/एंड्रॉयड के लिए नया हूँ, इसलिए यह शायद एक आसान (यदि नहीं बेवकूफ) सवाल यह है:बेसिक जावा/ग्रहण समस्या: मानक पुस्तकालयों एंड्रॉयड परियोजना में आयात नहीं किया जा सकता है

एक नया एंड्रॉयड बनाने के बाद प्रोजेक्ट, मैं जावा पुस्तकालयों (कुछ जो मुझे लगता है मानक) आयात करना चाहता हूं।

हालांकि, कुछ आयात बयान एक त्रुटि फेंक:

HelloAndroid.java:

import java.awt.Color; (आयात java.awt.Color हल नहीं किया जा सकता है)

import javax.imageio.ImageIO; (आयात javax.imageio नहीं कर सकते हल किया जा)

जबकि अन्य को नहीं:

import java.io.File; (कोई त्रुटि)

मैंने कुछ googling किया है और प्रोजेक्ट-> गुण-> पुस्तकालयों पर जाकर इन कक्षाओं को अपने क्लासपाथ में जोड़ने की कोशिश की लेकिन मैं यह समझने में सक्षम नहीं हूं कि वास्तव में क्या करना है।

किसी भी पॉइंटर्स की बहुत सराहना की जाती है!

चीयर्स,

मार्टिन

उत्तर

6

एंड्रॉयड का अपना API और केवल एक मानक जावा एपीआई के सबसेट प्रदान करता है।
awt और imageio एंड्रॉइड एपीआई में शामिल नहीं हैं, इसलिए आप इसका उपयोग नहीं कर सकते हैं।

उदाहरण के लिए, यदि आप manipulate images चाहते हैं, तो android.graphics पैकेज से कक्षाओं का उपयोग करें।

3

हालांकि जावा में एंड्रॉइड ऐप्स लिखे गए हैं, लेकिन उन्हें JVM पर निष्पादित नहीं किया गया है, बल्कि इसके बजाय दलविक नामक एक छोटी वर्चुअल मशीन है। यह मशीन केवल मानक जावा वीएम द्वारा समर्थित कक्षाओं के सबसेट का समर्थन करती है, इसलिए यह संभव है कि वे वर्ग उस समर्थन-सेट का हिस्सा न हों।

सामान्य में:

जब आप यकीन है कि जहां कक्षाएं जो आप चाहते स्थित हैं (यानी, क्या पैकेज वे में हैं), यह खोज की एक विधि बस उन्हें आयात करने का प्रयास नहीं करने के लिए है नहीं कर रहे हैं, लेकिन इसके बजाय बस उन्हें अपने कोड में उपयोग करें। अधिकतर आईडीई आपको यह बताने के लिए आपके कोड को हाइलाइट करेंगे कि आपको इसका उपयोग करने से पहले उस वर्ग को आयात करने की आवश्यकता है, और वे या तो ए) आयात विवरण जोड़ सकते हैं यदि उस नाम के साथ केवल 1 वर्ग है, या बी) विभिन्न विकल्पों वाले विकल्पों की एक सूची प्रदान करें पैकेज जिसमें सभी उस वर्ग में हैं, जिससे आप चुन सकते हैं कि आप कौन सा चाहते हैं।

संपादित करें: तकनीकी रूप से, भाषा जावा नहीं है। नीचे टिप्पणी देखें।

+3

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

1

जैसा कि अन्य लोगों ने संकेत दिया है, सभी जावा क्लास एंड्रॉइड में मौजूद नहीं हैं। यदि आप यह देखना चाहते हैं कि कोई विशेष वर्ग मौजूद है या नहीं, तो सबसे आसान बात यह है कि reference docs जांचें।

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