2011-03-19 2 views
4

인터넷에서 답변을 검색했지만 너무 오래되었거나 혼란 스럽거나 질문에 답변하지 않고 오히려 Java 배우기 만하는 답변을 찾을 수 있습니다.Java가 Android 용 앱을 작성하는 유일한 방법입니까?

내 기본적인 질문은 다음과 같습니다

  1. 자바 안드로이드에 대한 애플 리케이션을 작성하는 유일한 방법이 있나요?

  2. 이 질문은 모순이 될 것입니다. Adobe AIR은 이제 Android 폰에서 실행될 수 있으므로 Java없이 AS3에서 작성할 수 있습니까? 아니면 Java에서 AIR 응용 프로그램을 래핑해야합니까?

  3. Android 용 Facebook, Angry Birds 및 모든 멋진 게임은 Java로만 제작 되었습니까?

  4. # 1 == false & & me == JAVA_HATER라면 어떤 언어 나 SDK를 사용 하시겠습니까? 이것은 나의 주요 질문이다.

답변

0

시도해 볼 수 있습니다 appcelerator. 당신은 자바 스크립트로 작성하고, 어떻게 든 그것을 안드로이드 애플 리케이션으로 변환합니다.

2

Android 용 Adobe Air는 사용자를 위해 통합 작업을 처리합니다. 작동시키기 위해 Java를 작성할 필요가 없습니다. 실제로는 똑 바른 AIR 응용 프로그램이고 장치의 사용자가 Android 용 Air를 설치 한 경우 응용 프로그램이 간단하게 작동합니다.

네이티브 코드 (Java) 대 AIR 논쟁은 오랜 시간 동안 격렬 해지고 있습니다. 당신이 만드는 응용 프로그램의 유형에 따라, 프로젝트에 레이어가 하나 밖에 없으므로 Java 작성으로 이득을 볼 수 있습니다. 반면에 10 억 개의 셰이프 등을 애니메이션으로 만들지 않으면 차이가 거의 없습니다. 따라서 많은 경우 AIR는 괜찮습니다.

다른 옵션은 HTML/JavaScript를 사용하여 앱을 빌드하고 Android/iPhone의 기본 앱으로 컴파일되는 Java 또는 ObjC 래퍼에 간단히 포함시키는 것입니다. 많은 앱, 특히 사용자 만 사용할 수 있습니다 일종의 데이터 세트를위한 인터페이스는이 접근 방식을 사용하십시오.

따라서 사용 사례에 따라 다양한 옵션이 있습니다. :)

8
  1. Google에서 지원하는 유일한 방법입니다. 예를 들어 Adobe Air와 같은 다른 것들이 있습니다. 표준 Android 클래스와의 연결을 파악하기 위해 일부 작업을 수행하려는 경우 SDK의 Ant 레시피를 복사 및 수정하여 JVM을 대상으로하는 언어로 작업 할 수 있습니다.
  2. 다른 플랫폼과 마찬가지로 Air 앱은 "원시적으로"대상 플랫폼에서 실행되는 Air 가상 시스템에서 실행됩니다. (안드로이드는 아마도 자바로 작성되었고 JVM 바이트 코드로 컴파일 된 다음 Dalvik 바이트 코드로 변환되었다는 것을 의미합니다.) 은 기본 (일반적으로 ARM) 코드를 작성하고 기본 Java 프레임 워크와 링크 할 수있는입니다. 그러한 코드에는 여러 가지 제한이 있습니다. Appcelerator에서 언급 한 elsepage는 Javascript를 다른 것으로 번역 한 것으로 상상할 수 있습니다 (Javascript-to-Java 변환기가 여러 개 있습니다).
  3. 대부분의 Android 애플리케이션은 Java로 작성됩니다. 일부 앱, 특히 2.0 미만의 Android 버전에서 실행되지 않는다고 말하는 일부 앱에는 기본 코드 라이브러리가 있습니다. # 2 참조.
  4. Java는 "기본적으로 작동합니다". 위의 (# 1)에서 언급했듯이 약간의 작업을 통해 JVM 바이트 코드를 생성하고 Java 클래스 라이브러리에 연결하는 방법을 알고있는 언어로 코드를 작성할 수 있어야합니다..

    도구 집합을하고 C 및 C++ 소스로부터 네이티브 코드 라이브러리를 생성하는 데 사용되는 파일을 만들 : (나는 완전히

+0

그리고 http://www.codecommit.com/blog/java/interop-between-java-and-scala에 의하면 누군가가 앤틱 레시피 해킹을해야한다는 것을 의미하며 황금이라고합니다. – geekosaur

+1

당신이 직접 언급 한 [NDK] (http://developer.android.com/sdk/ndk/index.html)가 주어지면 분명히 잘못되었습니다. [Android 용 스크립팅 레이어] (http://www.googlelabs.com/show_details?app_key=agtnbGFiczIwLXd3d3IUCxIMTGFic0FwcE1vZGVsGKWdNgw)와 같은 다른 예도 있습니다. –

+0

귀하의 해석에 따라 다릅니다. 예를 들어 최근에 Java로 다시 호출 할 필요없이 NDK에서 I/O를 수행 할 수있게 된 것은 최근에야 비로소 NDK를 사용하여 전체 응용 프로그램을 작성할 수있게되었습니다. – geekosaur

0

Android NDK는 제공 : 누군가가 스칼라 연결을 제공 할 것으로 기대합니다.

관련 문제