모바일프로그래밍(48)
-
내 멋대로 안드로이드 - 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 -
내 멋대로 안드로이드 - 5
오늘은 그래서 자바 외부 클래스가 어떻게 동작해서 리눅스에서 돌아가는 지에 대한 메커니즘을 제 나름대로 설명하기로 하겠습니다 사실 이것을 설명하기 위해서 Hello World를 찍어 본다는 것은 개발자로서 심심하고 짜증나는 일이 될 수 있으니 다른 것을 가지고 해보면 좋겠는 데요 우선 xml과 dynamic class loading이라는 기술을 가지고 구현해 보는 것도 좋을 것 같아서 이 두가지 기술을 가지고 플러그 인을 함 만들어 보는 것으로 하겠습니다 사실 저도 플러그 인이라는 것을 확실히 뭐다라고 정의하긴 그렇지만, 이렇게 정의하도록 하겠습니다(사실 저도 잘 모릅니다ㅡ.ㅡ;;) “플러그 인이란 주 프로그램 즉 여기선 컨테이너 프로그램의 스팩에 맞도록 정의가 되어서 올라 갈 수 있는 조각 프로그램 혹..
2022.07.19 -
내 멋대로 안드로이드 - 4
저번 글에서 만들어본 TobeeTest-debug .apk 파일을 에뮬레이터의 리눅스 커널상에서 찾아 보는 것을 실패 했는데요 아무리 생각해도 구글 사람들이 바보가 아닌 다음에야 tmp라는 이름의 디렉토리에서 사용자 애플리케이션을 넣어 두고 서비스를 할 수 있겠느냐는 생각을 누구나 했을 것이라 생각 합니다. 단, 사용자 애플리케이션 비슷한 것들이 이 data 디렉토리에 들어 갈 수도 있겠구나 라는 의심이 들기 시작한 거겠죠 그럼 한 번 data 디렉토리를 살펴보면 이 많은 디렉토리 중에서 유독 app라는 디렉토리에 들어 가고 싶다는 생각이 드는 것은 왜일까? 여하튼 들어가 보면 역시나 apk 파일이 존재 하는 군요. 여기서 한가지 말씀 드리자면 실제 디바이스 즉 우리가 거금을 투자해서 산 스마트폰에서도 ..
2022.07.18 -
내 멋대로 안드로이드 - 3
이번에는 과연 안드로이드 자바가 어떤 식의 메커니즘으로 동작하는 지에 대해서 내 맘대로(^^) 알아보도록 하겠습니다 저번 글에도 말씀 드렸듯이 아무 사이트나 뒤져서 맘에 드는 코드를 사용해서 만들어 보도록 하겠습니다. 여기서 한가지 이 글의 첫 도입부에 말씀 드려야 했겠지만 사실 지금 이 글을 보는 사람은 자바라는 언어를 알고 리눅스나 유닉스 환경에 대해서 약간의 지식을 가지고 있으며 안드로이드로 Hello world!를 함 찍어 본 사람이라는 가정하에 작성하고 있습니다 (물론 잘 몰라도 되지만…. ) 여하튼 사이트를 찾아보다 http://www.vogella.de/articles/Android/article.html 라는 곳을 발견 했는 데 여기에 있는 소스 한 개를 긁어다 사용해 보겠습니다 packa..
2022.07.17