การพัฒนา Android โดยใช้ C และ C ++ [ปิด]


47

ฉันเป็นนักพัฒนา C, C ++ ฉันสนใจในการพัฒนาอุปกรณ์พกพา ฉันอยากรู้ว่าฉันจะพัฒนาแอพ Android โดยใช้ C และ C ++ ได้อย่างไรฉันได้อ่านมาแล้วว่าพวกเขากำลังจัดหาชุดเครื่องมือสำหรับนักพัฒนา C, C ++ แต่มันไม่มีฟังก์ชั่นทั้งหมดเหมือนชุด Java ฉันควรจะไปหาชุดพัฒนา C / C ++ หรือดีกว่าที่จะเรียนรู้จาวาเพราะพวกเขาอาจไม่ได้มีฟังก์ชั่นทั้งหมดในอนาคต?

คำตอบ:


33

เวอร์ชั่นย่อ: การทำงานกับ C ++ บน Android เป็นไปได้และง่ายขึ้นสำหรับ Android SDK / NDK แต่ละรุ่น แต่จะยากกว่าการใช้งาน Java


รุ่นยาว:

สำหรับแต่ละรุ่น Google จะเพิ่มฟังก์ชันการทำงานให้กับชุดพัฒนาเนทีฟของ Android และทำให้เป็นอิสระมากขึ้นในรหัส Java

อ่านhttp://developer.android.com/sdk/ndk/overview.htmlสำหรับรายละเอียดเพิ่มเติม:

เขียนกิจกรรมเนทีฟซึ่งช่วยให้คุณสามารถใช้การเรียกกลับในวงจรชีวิตในโค้ดเนทีฟ Android SDK จัดเตรียมคลาส NativeActivity ซึ่งเป็นคลาสความสะดวกสบายที่แจ้งรหัสเนทีฟของคุณสำหรับการโทรกลับรอบอายุกิจกรรม (onCreate (), onPause (), onResume (), ฯลฯ ) คุณสามารถใช้การเรียกกลับในรหัสเนทีฟของคุณเพื่อจัดการเหตุการณ์เหล่านี้เมื่อเกิดขึ้น แอปพลิเคชันที่ใช้กิจกรรมเนทีฟจะต้องรันบน Android 2.3 (API ระดับ 9) หรือใหม่กว่า คุณไม่สามารถเข้าถึงคุณลักษณะต่างๆเช่นบริการและผู้ให้บริการเนื้อหาได้ดังนั้นหากคุณต้องการใช้งานหรือ API เฟรมเวิร์กอื่น ๆ คุณยังสามารถเขียนรหัส JNI ได้

ปัญหาคือว่าถ้าคุณใช้ NDK ล่าสุดคุณจะไม่สามารถปรับใช้และมีรุ่น Android ที่ไม่ใช่รุ่นล่าสุดมากมาย

อย่างไรก็ตามแม้จะมี NDK เวอร์ชันก่อนหน้าคุณสามารถมีรหัส Java น้อยที่สุด (สำหรับการโต้ตอบกับระบบปฏิบัติการ) และรหัสแอปพลิเคชันเต็มรูปแบบใน C ++ หรืออะไรก็ตาม

นอกจากนี้ยังมีความพยายามในการช่วยให้นักพัฒนาท้องถิ่นทำงานอย่างเต็มที่ใน C หรือ C ++ ผ่านทางปลั๊กอิน IDE เช่น Vs-Android ที่เป็นปลั๊กอินสำหรับ Visual Studio 201x ซึ่งซ่อนกระบวนการรวบรวมและสร้างทั้งหมดจากคุณ: http://code.google.com / p / VS-Android /

นอกจากนี้หากคุณวางแผนที่จะย้ายแอปพลิเคชันของคุณไปยังระบบปฏิบัติการอื่นการใช้ C ++ สำหรับแกนหลักของแอปพลิเคชันของคุณ (อาจใช้ภาษาสคริปต์ด้านบน) เป็นความคิดที่ดี เวลาในการพัฒนามีราคาแพงกว่าทางเลือกอื่น ๆ ด้วยเหตุผลเฉพาะของ C ++ และมีการใช้งานเครื่องมือ dev เช่นการรวบรวมเวลามากเกินไปอาจทำให้ประสิทธิภาพการทำงานลดลง

อย่างที่บอกไปแล้วนั่นไม่ใช่วิธีที่ง่ายที่สุดในการทำงานกับแอพมือถือ


8

ฉันอยากจะแนะนำให้คุณไปเรียนภาษา C ++ ถ้าคุณมีแผนที่จะเข้าสู่การพัฒนาเกม แต่ถ้าไม่ใช่คุณควรไปที่ Java นี่คือไพรเมอร์ที่ดีสำหรับคุณบนเว็บไซต์ Android อย่างเป็นทางการ:

การพัฒนาเกมสำหรับ Android: Quick Primer

หมายเหตุ: โปรดอ่านขั้นตอนที่ 2 (ขั้นตอนที่สอง: เลือกภาษา) ของบทช่วยสอน

หากคุณไม่รู้จัก Java เลยและต้องการพัฒนาแอพบน Android ในระยะยาวจำเป็นต้องเรียนรู้ Java มีแบบฝึกหัดที่ยอดเยี่ยมในเว็บไซต์ทางการ มีหนังสือดี ๆ ที่คุณสามารถคว้าเพื่อการเรียนรู้เพื่อการพัฒนา Android โดยเฉพาะ: นี่คือ: เรียนรู้การพัฒนา Java สำหรับ Android


คนที่โพสต์คำถามรู้อยู่แล้วว่า C ++ แล้วประเด็นของคำแนะนำของคุณคืออะไร?
abhi

7

ฉันควรจะไปหาชุดพัฒนา C / C ++ หรือดีกว่าที่จะเรียนรู้จาวาเพราะพวกเขาอาจไม่ได้มีฟังก์ชั่นทั้งหมดในอนาคต?

คำตอบคือทั้ง

  • หากคุณกำลังเขียนแอปพลิเคชันที่ประสิทธิภาพเป็นประเด็นหลักพวกเขาเกือบจะต้องเป็นอย่างอื่นที่ไม่ใช่จาวา (C / C ++ เป็นที่นิยมมากที่สุด) เกมเป็นรายการตั๋วที่ยิ่งใหญ่ แต่มีคนอื่น ๆ
  • หากคุณกำลังพัฒนาระบบ Android คุณควรใช้เวลาในการเรียนรู้จาวาในระดับที่เหมาะสม

ฉันไม่เข้าใจสิ่งที่คุณหมายถึงโดยการทำ Android dev ต้องใช้จาวา แต่ถ้าคุณต้องการที่จะทำเกม Android dev ใช้ c / c ++ ทำไมไม่ใช้ c / c ++ ตลอดทาง
แลนซ์โพลลาร์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.