C 및 C ++를 사용한 Android 개발


47

저는 C, C ++ 개발자입니다. 모바일 개발에 관심이 있습니다. 나는 C와 C ++를 사용하여 안드로이드 애플리케이션을 개발할 수있는 방법을 알고 싶어요, 나는 한 읽어 들이는 C, C ++ 개발자를위한 키트를 제공하고 있지만, 자바 키트의 모든 기능을 가지고 있지 않습니다. C / C ++ 개발 키트를 사용해야합니까? 아니면 향후 모든 기능을 제공하지 않을 수 있으므로 Java를 배우는 것이 좋습니다?

답변:


33

짧은 버전 : Android에서 C ++로 작업하는 것이 각 Android SDK / NDK 버전에서 가능하고 쉬워 지지만 Java로 작업하는 것보다 어렵습니다.


긴 버전 :

각 버전마다 Google은 Android Native Development Kit에 더 많은 기능을 추가하고 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 코드 (OS와 상호 작용하기위한)와 C ++ 또는 기본 코드의 전체 응용 프로그램 코드를 가질 수 있습니다.

네이티브 개발자가 Visual Studio 201x 용 플러그인 인이 Vs-Android와 같은 IDE 플러그인을 통해 C 또는 C ++에서 완벽하게 작업 할 수 있도록 노력하고 있습니다. http://code.google.com / p / vs-android /

또한 응용 프로그램을 다른 OS로 이식하려는 경우 응용 프로그램의 핵심을 위해 C ++를 사용하는 것이 좋습니다 (스크립팅 언어가 맨 위에있을 수도 있음). 다른 대안보다 개발 시간이 훨씬 비쌉니다. C ++과 관련된 이유로 인해 개발 도구 구현이 가능합니다. 예를 들어 컴파일 시간이 너무 길면 효과적인 생산성이 저하 될 수 있습니다.

즉, 모바일 앱에서 가장 쉬운 방법은 아닙니다.


8

게임 개발에 대한 확고한 계획이 있다면 C ++로 가라고 권합니다. 그러나 그렇지 않은 경우 Java를 사용하는 것이 좋습니다. 공식 안드로이드 웹 사이트에서 좋은 입문서는 다음과 같습니다.

Android 용 게임 개발 : 빠른 입문서

참고 : 튜토리얼의 2 단계 (2 단계 : 언어 선택)를 읽으십시오.

Java를 전혀 모르고 장기간 Android에서 앱을 개발하려는 경우 Java를 배우는 것이 중요합니다. 공식 웹 사이트에는 훌륭한 자습서가 있습니다. Android 개발을 위해 특별히 배우기 위해 좋은 책이 있습니다 : 여기 : Android 개발을위한 Java 배우기


질문을 게시 한 사람은 이미 C ++을 알고 있으므로 조언의 요점은 무엇입니까?
abhi

7

C / C ++ 개발 키트를 사용해야합니까? 아니면 향후 모든 기능을 제공하지 않을 수 있으므로 Java를 배우는 것이 좋습니다?

대답은 둘 다입니다.

  • 성능이 주요 관심사 인 응용 프로그램을 작성하는 경우 거의 java 이외의 다른 응용 프로그램에 있어야합니다. (C / C ++가 가장 인기가 있습니다) 게임은 큰 티켓 항목이지만 다른 항목도 있습니다.
  • 안드로이드 개발을하고 있다면, 자바를 합리적인 수준으로 배우는 데 시간을 들여야한다.

안드로이드 개발자가 자바를 요구한다는 의미를 이해하지 못하지만 안드로이드 게임 개발자를 원한다면 c / c ++를 사용하십시오. c / c ++를 항상 사용하지 않는 이유는 무엇입니까?
랜스 폴라드
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.