2009-07-07 21 views
9

मैं एंड्रॉइड को एक छोटा ओपन सोर्स एईएस एन्क्रिप्शन क्लास पोर्ट करना चाहता हूं, और अगर एंड्रॉइड की एपीआई जावा 6 एपीआई के करीब जितनी करीब हो तो यह मेरे काम को बहुत कम कर देगा।एंड्रॉइड द्वारा जावा 6 एपीआई कितना लागू किया गया है?

कितना लागू किया गया है (या संदर्भनीय), क्योंकि मैंने Google पर इस बारे में खोज करने का प्रयास किया है, और मैंने अभी तक कुछ भी उपयोगी नहीं किया है?

उत्तर

4

IMHO सामान्य जावा 6 में काम करता है। कंपाइलर आपके लिए काम करता है।

पुन: कार्यान्वित एन्क्रिप्शन पुनः प्रयास करें: कृपया Bouncy Castle का उपयोग करने का प्रयास करें। सामान्य रूप से, किसी भी ज्ञात क्रिप्टो एल्गोरिदम का आत्म कार्यान्वयन एक अच्छा विचार नहीं है।

+0

इसके लिए धन्यवाद। उछाल वाले महल कार्यान्वयन के लिए थोड़ा सा लगता है कि मैं क्या करने की कोशिश कर रहा हूं। मैं सिर्फ एक छोटा फ़ाइल एन्क्रिप्शन ऐप बनाकर, एंड्रॉइड के साथ अपने पैरों को गीला करने की योजना बना रहा हूं। वास्तव में यह सुनिश्चित नहीं है कि यह कितना जटिल होगा, क्योंकि मेरी पृष्ठभूमि वेब ऐप्स में है, एकल-फोकस ऐप्स नहीं, और मैंने वास्तव में बहुत जावा नहीं किया है। – warsong

4

क्या आपने http://developer.android.com/reference/ पर जावा लाइब्रेरी संदर्भ की जांच की है?

+0

एंड्रॉइड एपीआई जावा एपीआई के समान नहीं है! – tuergeist

+1

एंड्रॉइड जावा-आधारित है और यह जावा के कंपाइलर का भी उपयोग करता है, आप स्वयं सवाल का जवाब दे सकते हैं। अपना जावा 6 कोड आज़माएं। – tuergeist

+1

tuergeist: मैंने सोचा था कि एंड्रॉइड का अपना बाइट कोड और दुभाषिया है क्योंकि संकलक पूरी तरह से अलग था? –

1

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

इसके अलावा, यह एंड्रॉइड सीमा नहीं है, लेकिन आपको शायद फ्लोट्स के साथ बहुत सारी परेशानी हो रही है, क्योंकि एंड्रॉइड आमतौर पर चलने वाले प्लेटफॉर्म (एआरएम) में फ़्लोटिंग पॉइंट यूनिट नहीं है, इसलिए आपको इसे

+0

मुझे लगता है कि वे अभी भी फ्लोटिंग पॉइंट ऑपरेशन कर सकते हैं, वे आपके उपयोग के मुकाबले बहुत धीमे हो जाएंगे? – MatrixFrog

2

एंड्रॉइड प्रोजेक्ट की संकलन प्रगति इस तरह है, पहले जावा बाइट कोड (मुख्य रूप से एसई 5.0 एपीआई) के साथ स्रोत कोड को जावा बाइट कोड में .class फ़ाइल के रूप में संकलित करें, और ऐसी क्लास फाइलों को लेना पड़ सकता है दल्विक वीएम द्वारा दल्विक बाइट कोड .dex फ़ाइल में निरंतर संकलित किया जाएगा। जब ऐप चलता है, तो वास्तव में। Dexvik vm पर चल रहा है।

0

(इस तरह के इंटरफेस के लिए @Override टिप्पणी के रूप में) जावा 6 की नई भाषा साइड सुविधाओं को आम तौर पर काम करेगी; Dalvik वीएम कंपाइलर जावा 6 * .class फ़ाइलों के साथ संगत है।
दूसरी तरफ, जेडीके 6 की नई एपीआई विशेषताएं, जैसे स्ट्रिंग.इसएक्टी(), java.util.Arrays.copyOf, आदि, या तो गायब हैं या नए एपीआई स्तर की आवश्यकता है। (एपीआई 9 या बाद में इन उदाहरणों में)
यदि आपका एप्लिकेशन पुराने एंड्रॉइड डिवाइस (एपीआई 8 या निचला) को लक्षित करता है, तो आप केवल जावा 5 फ़ंक्शंस का उपयोग कर सकते हैं।

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