2010-05-05 16 views
52

क्या मैं सी ++, सी में एंड्रॉइड प्रोग्रामिंग कर सकता हूं? अगर उत्तर "हां" है तो कृपया बताएं कि कैसे? और स्थापित करने की प्रक्रिया क्या है?क्या मैं सी ++, सी में एंड्रॉइड प्रोग्रामिंग कर सकता हूं?

मैं Obj सी, जावा पता नहीं है, लेकिन सी, सी ++, फ्लैश AS3, एसडीके गूगल द्वारा जारी में अच्छी तरह से वाकिफ।

कृपया इसे पूरी तरह से विकसित नहीं कर रहा है NVDIA एसडीके बारे में नहीं बताते :)

उत्तर

57

कृपया ध्यान दें: उत्तर नीचे दिया गया है, और पूरी तरह से किसी भी तरह से सही नहीं हो सकता है।

आप C/C कार्यक्रम कर सकते हैं ++ Android NDK का उपयोग कर। आपको अपने सी ++ कोडबेस को एक स्थिर लाइब्रेरी में लपेटना होगा और जावा रैपर & जेएनआई के माध्यम से लोड करना होगा।

मानक एनडीके आरटीटीआई का समर्थन नहीं करता है और मानक सी ++ की कई कार्यक्षमता भी उपलब्ध नहीं है जैसे कि std :: string, आदि। इसे हल करने के लिए आप एनडीके को पुनः संकलित कर सकते हैं। दिमित्री Moskalchuk एनडीके का एक संशोधित संस्करण की आपूर्ति करता है जो http://www.crystax.net/android/ndk-r3.php पर इसका समर्थन करता है। यह संशोधित संस्करण एआरएम प्रोसेसर पर चलने वाले सभी एंड्रॉइड फोन पर काम करता है।

आवेदन की तरह आप जावा या C/C++ उपयोग करने के लिए तय करना चाहिए पर निर्भर करता है। मैं सी/सी ++ का उपयोग किसी भी चीज के लिए करता हूं जिसके लिए औसत कम्प्यूटेशनल पावर और गेम्स - बाकी के लिए जावा की आवश्यकता होती है।

बस एक भाषा चुनें और उस भाषा में अपने अधिकांश एप्लिकेशन को लिखें; जेएनआई कॉल आपके प्रदर्शन को बहुत कम कर सकता है। जावा हालांकि मुश्किल नहीं है - अगर आपको पता है कि सी/सी ++ में प्रोग्राम कैसे करें। जावा का लाभ यह है कि एप्लिकेशन एंड्रॉइड चलाने वाले किसी भी डिवाइस पर चलाया जा सकता है, जहां एनडीके अनुप्रयोग आर्किटेक्चर पर निर्भर करते हैं, जिसके लिए इसे संकलित किया गया था।

15

आप एंड्रॉयड NDK का उपयोग करना चाहिए मूल कोड में अपने ऐप्स का प्रदर्शन-महत्वपूर्ण भागों को विकसित करने के लिए। Android NDK देखें।

वैसे भी मैं नहीं लगता है कि यह सही तरीके से एक पूरे आवेदन को विकसित करना है करो।

8

हां, आप Native Development Kit (NDK) का उपयोग कर सी ++ (अधिकांश भाग के लिए) में एंड्रॉइड ऐप्स प्रोग्राम कर सकते हैं, हालांकि जावा एंड्रॉइड प्रोग्रामिंग के लिए प्राथमिक/पसंदीदा भाषा है, और आपके सी ++ कोड को जावा घटकों के साथ इंटरफेस करना होगा, और आपको जावा घटकों के लिए दस्तावेज़ों को पढ़ने और समझने की भी आवश्यकता होगी। इसलिए, मैं आपको जावा का उपयोग करने की सलाह दूंगा जब तक कि आपके पास कुछ मौजूदा C++ कोड बेस नहीं है जिसे आपको बंदरगाह की आवश्यकता है और जावा में फिर से लिखना व्यावहारिक नहीं है।

जावा बहुत सी ++ के समान है, मुझे नहीं लगता कि आप इसे उठा ... सी ++ से जावा के लिए जा रहा कोई समस्या है जाएगा अविश्वसनीय रूप से आसान है; जावा से सी ++ में जाकर थोड़ा और मुश्किल है, हालांकि भयानक नहीं है। Java for C++ Programmers मतभेदों को समझाने में एक बहुत अच्छा काम करता है। जावा में अपना एंड्रॉइड कोड लिखना अधिक मूर्खतापूर्ण होगा और आपके लिए विकास प्रक्रिया को भी आसान बना देगा (जैसे जावा एंड्रॉइड एसडीके के लिए टूलींग इसी एनडीके टूलींग से काफी बेहतर है)

सेटअप के मामले में, Google प्रदान करता है Android Studio जावा और सी ++ एंड्रॉइड डेवलपमेंट (ग्राडल के निर्माण प्रणाली के रूप में) दोनों के लिए आईडीई, लेकिन आप जो भी आईडीई या बिल्ड सिस्टम का उपयोग करने के लिए स्वतंत्र हैं, उतनी देर तक, हुड के तहत, आप एंड्रॉइड एसडीके/एनडीके का उपयोग करने के लिए उपयोग कर रहे हैं अंतिम आउटपुट

+3

"जावा सी ++ के समान है"? – alecov

+1

@Alek आपका आपत्ति क्या है? यह सत्य है। संवैधानिक रूप से, दो भाषाएं बहुत समान हैं, जावा उधार सी ++ से बहुत अधिक उधार लेती है। –

+0

@MichaelAaronSafyan यह तब तक सही है जब तक कि भाषाओं की तुलना बहुत ही सतही दृष्टि से की जाती है। वाक्यविन्यास वास्तव में समान है (क्योंकि यह कई लोकप्रिय भाषाओं - सी, सी #, जेएस, पीएचपी, ...) के मामले में है, लेकिन प्रतिमान और मुहावरे अलग हैं। जबकि जावा अभी भी कार्यात्मक तत्वों के हालिया प्रभावों के बावजूद कक्षाओं पर केंद्रित है, सी ++ पहले से ही अबास्ट्रक्शन तंत्र (वैश्विक कार्यों, टेम्पलेट्स, टाइपपीफ, मल्टीक्टर, ऑपरेटर अधिभार, ...) की पूरी श्रृंखला प्रदान कर चुका है, जो एक अलग प्रोग्रामिंग शैली की ओर जाता है। जैसे एसटीएल और जावा संग्रह बहुत अलग तरीके से संरचित होते हैं। – TheOperator

-6

वहाँ एंड्रॉयड प्रोग्रामिंग में C++ में काम करने के लिए एक से अधिक पुस्तकालय है:

  1. सी ++ - क्यूटी (ए नोकिया उत्पाद भी उपलब्ध LGPL के रूप में)
  2. सी ++ - Wxwidget (जीपीएल के रूप में उपलब्ध है)
3

आपको MoSync पर भी देखना चाहिए, MoSync आपको मानक सी/सी ++, उपयोग में आसान अच्छी तरह से प्रलेखित एपीआई, और एक पूर्ण-विशेषीकृत ग्रहण-आधारित आईडीई देता है। अब यह एक खुला सोर्स आईडीई अभी भी बहुत अच्छा है लेकिन अब और बनाए रखा नहीं है।

+0

लिंक टूटा हुआ है – Bogatyr

+0

अब यह निष्क्रिय परियोजना है और – JPM

2

आप सी ++ बिल्डर एक्सई 6 पर भी एक नज़र डाल सकते हैं, और एक्सई 7 सी ++ कोड में एंड्रॉइड का समर्थन करता है, और फायरमोनकी लाइब्रेरी के साथ।

http://www.embarcadero.com/products/cbuilder

शुरू करने के लिए बहुत आसान तरीका है, और मूल कोड

। लेकिन द्विआधारी का आकार बड़ा है।

+0

सोर्स किया गया है क्या आपके पास एम्बरकेडरो के साथ कोई संबंध है? – hichris123

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