C और C ++ का उपयोग करके Android विकास [बंद]


47

मैं एक C, C ++ डेवलपर हूं। मुझे मोबाइल के विकास में दिलचस्पी है। मैं जानना चाहता हूं कि मैं C और C ++ का उपयोग करके एंड्रॉइड ऐप कैसे विकसित कर सकता हूं, मैंने पढ़ा है कि वे सी, सी ++ डेवलपर्स के लिए एक किट प्रदान कर रहे हैं, लेकिन इसमें जावा किट के रूप में सभी फ़ंक्शन नहीं हैं। क्या मुझे C / C ++ विकास किट के लिए जाना चाहिए या जावा सीखना बेहतर है क्योंकि वे भविष्य में सभी कार्यक्षमता प्रदान नहीं कर सकते हैं?

जवाबों:


33

लघु संस्करण: एंड्रॉइड पर C ++ के साथ काम करना प्रत्येक एंड्रॉइड एसडीके / एनडीके संस्करण के साथ संभव और आसान है, लेकिन यह जावा के साथ काम करने की तुलना में कठिन है।


दीर्घ संस्करण :

प्रत्येक संस्करण के लिए, Google एंड्रॉइड नेटिव डेवलपमेंट किट में अधिक कार्यात्मकता जोड़ता है और इसे जावा कोड पर अधिक से अधिक स्वतंत्र बनाता है।

अधिक जानकारी के लिए http://developer.android.com/sdk/ndk/overview.html पढ़ें :

एक देशी गतिविधि लिखें, जो आपको मूल कोड में जीवनचक्र कॉलबैक को लागू करने की अनुमति देती है। Android SDK NativeActivity class प्रदान करता है, जो एक सुविधा वर्ग है जो किसी भी गतिविधि जीवनचक्र कॉलबैक (onCreate (), onPause (), onResume (), आदि) के आपके मूल कोड को सूचित करता है। जब आप इन घटनाओं को संभालने के लिए अपने मूल कोड में कॉलबैक को लागू कर सकते हैं। देशी गतिविधियों का उपयोग करने वाले अनुप्रयोगों को एंड्रॉइड 2.3 (एपीआई स्तर 9) या बाद में चलाया जाना चाहिए। आप सेवाओं और सामग्री प्रदाताओं जैसी सुविधाओं को मूल रूप से एक्सेस नहीं कर सकते हैं, इसलिए यदि आप उन्हें या किसी अन्य फ्रेमवर्क एपीआई का उपयोग करना चाहते हैं, तो आप अभी भी ऐसा करने के लिए जेएनआई कोड लिख सकते हैं।

समस्या बस इतनी है कि यदि आप सबसे हालिया एनडीके का उपयोग करते हैं, तो आप तैनाती नहीं कर पाएंगे और हाल ही में एंड्रॉइड के कई संस्करण नहीं।

वैसे भी पिछले NDK संस्करणों के साथ, आपके पास न्यूनतम जावा कोड (ओएस के साथ बातचीत के लिए) और C ++ या पूर्ण मूल में पूर्ण आवेदन कोड हो सकता है।

इस Vs-Android की तरह IDE प्लगइन्स के माध्यम से C या C ++ में पूरी तरह से काम करने के लिए मूल डेवलपर्स की मदद करने में भी प्रयास हैं, जो विज़ुअल स्टूडियो 201x के लिए एक प्लगइन है जो आपसे सभी संकलन और पीढ़ी की प्रक्रिया को छिपा रहा है: http://code.google.com / पी / बनाम-एंड्रॉयड /

इसके अलावा, यदि आप अपने एप्लिकेशन को अन्य OS पर पोर्ट करते हैं, तो आपके एप्लिकेशन के मूल के लिए C ++ के साथ जा रहा है (शायद शीर्ष पर एक स्क्रिप्टिंग भाषा के साथ) एक अच्छा विचार है। यह अन्य विकल्पों की तुलना में विकास के समय पर अधिक महंगा है - सी ++ के लिए विशिष्ट कारणों के लिए और यह देव उपकरण कार्यान्वयन उपलब्ध है, उदाहरण के लिए बहुत अधिक संकलन समय आपकी प्रभावी उत्पादकता को मार सकता है।

कहा जा रहा है, कि मोबाइल ऐप्स पर काम करना सबसे आसान तरीका नहीं है।


8

यदि आप गेम डेवलपमेंट में जाने की कोई ठोस योजना रखते हैं तो मैं आपको C ++ के लिए जाने की सलाह दूंगा। लेकिन यदि नहीं, तो आप जावा के लिए बेहतर हैं। यहाँ आधिकारिक एंड्रॉइड वेबसाइट पर आपके लिए एक अच्छा प्राइमर है:

Android के लिए खेल विकास: एक त्वरित प्राइमर

नोट: कृपया ट्यूटोरियल के चरण 2 (चरण दो: एक भाषा चुनें) को पढ़ें।

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


जिस व्यक्ति ने प्रश्न पोस्ट किया है, वह पहले से ही सी ++ जानता है, तो आपकी सलाह का क्या मतलब है?
अभय

7

क्या मुझे C / C ++ विकास किट के लिए जाना चाहिए या जावा सीखना बेहतर है क्योंकि वे भविष्य में सभी कार्यक्षमता प्रदान नहीं कर सकते हैं?

जवाब दोनों है।

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

मुझे समझ नहीं आ रहा है कि android देव करने से आपका क्या मतलब है सभी तरह से सिर्फ c / c ++ का उपयोग क्यों न करें।
लांस पोलार्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.