JRE 용 Java와 Android 용 Java의 차이점은 무엇입니까?


13

나는이 모든 게임 개발을 처음 접했고, 시작하는 좋은 방법이라고 들었 기 때문에 자바를 배우기 시작했다. 나중에 안드로이드 마켓을위한 게임을 만들고 싶습니다. 여러분들로부터 좋은 시야를 얻고 싶습니다.

나는 안드로이드 개발이 다른 아키텍처를 가지고 있다는 것을 알고 있습니다.

감사!


4
그만한 가치가있는 Android 애플리케이션은 일반적으로 Java로 작성됩니다. 이 둘의 차이점은 "Android"는 운영 체제이고 "Java"는 프로그래밍 언어입니다. 서로 다른 (겹치지 않는) 목적으로 사용됩니다.
dash-tom-bang

OP의 질문 제목이 명확 해졌습니다.
엔지니어

답변:


13

Android 애플리케이션을 작성하려면 Java 및 Android가 제공하는 확장 라이브러리를 사용합니다. 이것들은 Java 언어의 확장이 아닙니다. 휴대 전화에서하고 싶은 일반적인 일을 달성 할 수 있도록 Android와 함께 제공되는 라이브러리를 의미합니다.

예를 들어, 블랙 베리 ( 다른 Java 기반 모바일 OS )는 Java를 선택한 언어로 사용하며 Research In Motion은 RIM 패키지에 라이브러리 세트를 제공하여 전화에서 일반적으로 수행하는 작업을 추상화하는 데 도움을줍니다.

순수한 Java를 사용할 수 있지만 대부분의 경우 RIM에서 제공하는 RIM 라이브러리를 사용하려고합니다.

프로그래밍을 처음 접한다면 클래스, 메소드, 객체 지향 프로그래밍 등 좋은 Java 원칙을 먼저 배우는 것이 좋습니다. Google에서 제공하는 Android API를 배우십시오. 안드로이드를 먼저 배우면 혼란스러워지고 좋은 프로그래밍 습관을 따르지 않을 것입니다.

Head First Java 책으로 시작하는 것이 좋습니다 .


4

Android는 자체 Java와 같은 구현을 사용합니다. Java 구문 코드를 작성하고 많은 Java API를 사용할 수 있지만 많은 차이점이 있습니다.

  • Android 애플리케이션에는 특수 수명주기가 있습니다.
    • 주요 기능 없음
    • 애플리케이션에는 재정의해야하는 onCreate, onResume, onPause, onDestroy 함수가있는 활동이 포함됩니다.
  • 코드는 Dalvik opcode (Java 바이트 코드 아님)로 컴파일됩니다.
  • 많은 API는 비슷하지만 모든 J2SE API가 없습니다. 개발자 사이트를 확인해야합니다 .
  • 많은 API는 Android (Contacts, Power Management, Graphics ...)로 제한됩니다.
  • IHM은 안드로이드 전용입니다 (스윙 없음, JavaFX 없음 ...). GUI를 선언하려면 XML을 사용해야합니다.
  • 호환 가능한 API 만 사용하는 경우 Java jar을 사용할 수 있지만 dalvik으로 변환됩니다.

따라서 새로운 플랫폼과 같습니다. 그러나 Java를 알고 있다면 Android에서 개발하기가 매우 쉽습니다. SDK를 다운로드하고 제공된 샘플로 재생하고 사용자 정의하십시오. 좋은 IDE를 Eclipse 및 Idea로 사용할 수 있습니다 (Android 플러그인은 Idea 10 Community 에디션에 제공됨).

C / C ++ 괴짜의 경우 NDK (Native Development Kit)를 사용할 수 있지만 Java 부트 스트랩 코드 및 JNI 지식이 필요합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.