2012-06-20 7 views
51

요 전날 나는 자이 썬 (Jython)이라는 파이썬 구현을 발견했다.
자이 썬으로 파이썬으로 자바 애플리케이션을 작성하고 순수 자바로 컴파일 할 수있다.자이 썬에서 안드로이드 애플 리케이션 프로그래밍

나는 자바로 안드로이드 프로그래밍을하고있다.
자이 썬으로 안드로이드 애플 리케이션을 만들 수 있습니까?

+1

파이썬에는 java와의 뛰어난 상호 운용성이 없습니다. 네이티브와 멋진 UI를 원하면 java/scala를 사용해야합니다. 비 (非) 네이티브 UI가 있으면 ok android + python wrapper + qt를 python으로 작성할 수 있습니다. – logcat

+0

내가보기 ... 자이 썬으로 자바에서 할 수있는 일은 아무것도 할 수 없다? –

+7

@tabbykitten은 Python과 Java 간의 interop이 Jython *이 제공하는 것입니다. – lvc

답변

37

자이 썬은 "순수 자바"로 컴파일되지 않으며 자바 바이트 코드, 즉 *.class 개의 파일로 컴파일됩니다. Android 용으로 개발하기 위해 자바 바이트 코드를 Dalvik 바이트 코드로 컴파일합니다. 즉, 자이 썬 으로 Android 개발을 위해 Python을 사용할 수 있다는 것을 의미합니다. 안드로이드 SDK로 멋지게 플레이 할 수 있습니다. (개인적으로 시도하지 않았기 때문에 실제로 얼마나 힘들지는 모릅니다.) - 을 수행하면은 안드로이드가 제공하지 않는 Java API에 의존하지 말아야하며, 일 수도 있고은 자이 썬을 실행할 때 안드로이드 API .class 파일이 필요할 수도 있습니다. 이러한 문제를 제외하고는 핵심 아이디어가 작동해야합니다. Jython은 실제로 Python에서 JVM에서 실행되는 다른 것과 상호 작용하는 코드를 작성합니다.

+2

https://wiki.python.org/jython/JythonFaq/GeneralInfo#Can_I_use_Jython_to_make_apps_for_mobile_phones.3F에 따르면 자이 썬은 JSE 대신 JME가 필요하며 이전에는 아직 포트가 없다. 그래서 이것은 순수한 이론에 대한 답변입니까 아니면 실제로 누군가에 의해 수행 된 것입니까? –

+2

@ TobiasKienzler 답변은 대체로 이론적입니다. 답변을 시도하지는 않았지만 Jython과 Android 도구를 함께 사용하면 문제가 될 수 있습니다. 즉, 파이썬 -> 자바 바이트 코드 단계가 안드로이드 장치가 아닌 개발 기계에서 * 수행되기 때문에 JME/JSE의 차이점이 중요하다고 생각하지 않습니다. Java SE는 Android SDK 및 최신 Android Studio에서 지원되는 모든 플랫폼에서 사용할 수 있습니다. – lvc

+0

답장을 보내 주셔서 감사합니다. 덧붙여 말하자면 저는 원시 안드로이드 개발을 위해 자이 썬을 사용하기를 희망하고 있습니다 ... –

3

pure java (일부 제약 조건이있는 일부 API는 사용할 수 없음)로 컴파일하는 한 Python은 액티비티 및 UI 조작 코드와 같은 안드로이드 특정 항목 개발에 많은 도움이 될 것입니다.

모바일 개발에 심각한 제약이되는 애플리케이션 크기도 관리해야합니다.

+0

자이 썬 코드의 javac 기반 출력이 파이썬 런타임을 포함하지 않고 jvm 코드 만 포함한다고 생각하면 어떻게됩니까? 응용 프로그램 크기 측면에서 말하기. – jheld

-3

불가능합니다. 안드로이드와 함께 자이 썬을 사용할 수 없다. 왜냐하면 DVM은 그것을 이해하지 못하기 때문이다. DVM은 JVM이 아닙니다.

+0

Thanks @ Burhan Khalid StackOverFlow를 사용하여 추후 게시 할 때 이러한 작지만 중요한 사항에주의해야합니다. –

+0

나는 이미 내 영어 글쓰기 실수를 인정했지만 아직 누군가 내게 투표를하고있다. :(실수를하려면 인간 이요, 중요한 것은 실수에서 배울 것입니다.) –

+0

그 응용 프로그램은 자이 썬 (Jython), 즉 안드로이드 용 자이 썬을 사용하고 있습니다. 어떻게 된 것입니까? ... hehehe :-). –

1

예 아니요. 자이 썬에서는 자바 클래스를 사용하여 JVM을 컴파일 할 수있다. 그러나 Android는 DVM (Dalvik Virtual Machine)을 사용하며 컴파일 된 코드는 다릅니다. JVM 코드를 DVM으로 변환하려면 도구를 사용해야합니다.

-3

슬프게도 번호

휴대폰은 자바 ME (마이크로 에디션)가 있지만, 자이 썬은 자바 SE (스탠다드 에디션)가 필요합니다. ME에는 자이 썬 항구가 없으므로 그만한 가치가있는 것은 아닙니다.

+1

이것은 질문에 대한 대답을 제공하지 않습니다. 저자의 설명을 요청하고, 게시물 아래에 의견을 남기십시오. 자신의 게시물에 언제나 댓글을 달 수 있으며, 충분한 [평판] (http://stackoverflow.com/help/whats-reputation)을 갖게되면 [모든 게시물에 대한 의견] (http://stackoverflow.com/help/pri) vileges/comment). –

+1

@ A.J. 문제는 "Android에서 Jython을 실행할 수 있습니까?"입니다. 그래서, 그것은 대답입니다. 절대적으로 잘못된 설명으로, 그렇습니다. 그러나 대답은 있습니다. – Gangnus

+0

@Gangnus, 솔직히 말하면, 가까운 투표는 아주 일반적입니다. 증거 나 추론이 없기 때문에 더 많이 말 했으므로 OP가 작성할 수없는 의견에 쉽게 캡슐화되어 가까운 투표가 가능합니다. –

0

Scripting Layer for Android (SL4A)은 Android 기기에서 스크립트 및 대화식 인터프리터를 직접 편집하고 실행할 수 있도록 허용하여 스크립트 언어를 Android에 제공합니다.

관련 문제