모바일프로그래밍/안드로이드(43)
-
내 멋대로 안드로이드 - 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 -
내 멋대로 안드로이드 - 2
1. 안드로이드 자바 API 간단한 소개 저번 시간에 간단히 살펴 본 제가 생각하는 안드로이드 탄생의 배경과 약간 맛본 안드로이드 커널에 대한 일부 라이브러리들에 대한 저 나름의 생각들 아직 맞는 지는 확실치 않지만 여하튼 그 부분들이 맞냐 아니냐를 떠나서 에뮬레이터를 띄우고 내부 환경을 들어가서 안드로이드가 어떤식의 구성으로 이루어져 있는 지 간단히 알아보았습니다 사실 system 디렉토리만 그것도 몇몇개만 확인해 본 셈이지만요 사실 저 같은 소프트웨어 개발자가 여러가지를 알기도 힘들고 수박 겉핥기 식으로 해본 시스템 관리만 가지고 좀 더 심화된 내용을 들어가기는 좀 어렵다고 판단되는 바, 우선 소프트웨어적인 접근방식 그것도 개발자의 생각으로 안드로이드를 바라보도록 하겠습니다 그럼 저번 글에서 말씀 드..
2022.07.16