안드로이드 프로그래밍(3)
-
내 멋대로 안드로이드 - 8
저번 시간에 보았듯이 일반적인 자바 컴파일러로 컴파일 해서 jar 파일을 만들경우에는 안드로이드 Dalvik JVM은 이를 이해 할 수가 없다는 것을 확인 하였습니다 “안드로이드 내멋대로 탐험하기 – 3”에서 말씀 드렸듯이 자바 파일을 안드로이드 머신이 알 수 있는 만한 놈으로 바꾸어 주어야 하는 데요. 이 파일형식을 DEX 파일이라고 부르고 이를 위해서 DEX 파일 만들어 주는 유틸 인 dx.bat 파일도 존재 하고 있었습니다. 다시 이 과정을 상기 해 보면 R.java 파일을 만들고 (이 파일에 대해서도 알아보아야 할 듯…) 자바 파일을 컴파일하고 Dalvik JVM용으로 변환하고 패키지 만들고 등등…. 의 일련의 과정을 거쳐서야 만 진정 우리가 원하는 아니 안드로이드에서 돌아가는 뭔가를 만들 수 있..
2022.07.22 -
내 멋대로 안드로이드 - 7
이제 XML 파싱도 끝났고 마지막 우리가 만들 플러그 인 클래스의 마지막 터치가 남아 있습니다 저번 시간에도 말씀 드렸듯이 자바의 꽃이라 불리우는 클래스 로딩은 말 그대로 자바의 클래스를 로딩하는 기술입니다. 자바의 JVM은 한마디로 인터프리터라고 불리는 데 인터프러터라는 의미는 바로 중간에 JVM이라는 스팩으로 시스템 커널과 사용자 애플리케이션 중간에 레이어를 추가 했다는 개념인데요 사용자가 할 수 있는 일이라고는 1. 자바를 코딩하고 2. 자바를 소위 바이트코드라는 클래스 파일을 만드는 컴파일 과정을 거치고 난 후 3. JVM에 갖다 맡기는 것입니다 (java.exe) 4. 그리고 자바는 자기만의 스팩을 가지고 커널과 통신에 의해서 사용자 애플리케이션을 구동하는 것입니다 이런 일련의 과정에서 바이트 ..
2022.07.21 -
내 멋대로 안드로이드 - 6
오늘은 저번에 만들어 본 클래스에 대한 설명을 xml로 달아보고 ClassLoader를 만들어서 런타임상에서 원하는 스팩을 가진 플러그인 클래스를 가져 오는 것을 해보고자 합니다 물론 잘 될지는 해봐야 아는 것이지만 여하튼 우선 xml을 하나 정해 보도록 하겠습니다. 최우선 적으로 해야 할 것은 정형화된 형식의 xml을 위해서 DTD나 스키마를 만들어야 하겠지만 xml 파일의 양식이 방대하기도 하고 해 본지도 너무 오래 되기도 해서 당장 만들어 내기에는 약간의 시간이 필요하기 때문에 다음에 만들어 보기로 하고 xml만 하나 만들도록 하겠습니다. 대신, 컨테이너와 각 플러그 인의 규약은 다음과 같은 엘리먼트가 존재 하여야 하고 validation check가 되었다고 가정을 하겠습니다. 엘리먼트는 다음과 ..
2022.07.20