마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Android APP의 시작 함수

0 추천

아시겠지만, Android 앱(*.apk파일)은 JAVA로 구현되어 있습니다.

그리고, JAVA로 개발한 프로그램의 시작점은 main()메소드 입니다.

즉, public static void main(String args[])와 같이 말입니다.

(C언어에서 시작점이 main 함수인 것처럼…)

Android APP도 JAVA로 구현하기 때문에, 당연히 main() 메소드로 시작할 것으로 예상했는데,

실제 code를 보니, main() 메소드가 없더군요

그럼, android APP(*.apk)에서는 도대체 어떤 부분부터 시작을 하는지요 ?

파아란하늘이 (120 포인트) 님이 2013년 7월 23일 질문

3개의 답변

0 추천
어딘가에는 분명 존재는 할겁니다...

다만 안드로이드 나 웹어플리케이션같이 단일 java 파일 한개 정도를 런하는 수준이 아니라

이파일 저파일 참조하고 메모리올리고 쓰고 한다면 main 함수를 사용자가 함부로 건드리게 해서는 안될겁니다.

 

사용자 수준. 기능중심 개발자는 안드로이드 가이드라인? 을 따른 시작점을 공부하고 개발하는 게 나을지도 모르겠네요

보통은 안드로이드는 andmanifest? xml 을 읽어 들여서...context 를 init 식으로 읽고...각 activity 를 실행하는? 그런 로직으로 알고 있습니다. 초급개발자 수준에서는 이정도 flow 정도 알고 있으면 될듯 하네요...

 

중급/고급으로 가시어 dalvik 부터 안드로이드 메모리 구조 등등 내부로 더 심화하여 공부하신다면...

main 함수의 위치를 찾을수 있으실지도 모르겠네요

저도 초보라 이정도만...
AND chobo (4,690 포인트) 님이 2013년 7월 23일 답변
0 추천
main 에서 시작하는 전제를 버리세요. Android 는 Java 언어를 채택한거지, JVM을 채택한게 아닙니다.

Android 앱은 AndroidManifest.xml 을 참고해서 여러곳의 진입점을 가질수 있습니다.  

자세한 문서는 아래를 참고하세요.

http://developer.android.com/guide/components/fundamentals.html
상인 (6,670 포인트) 님이 2013년 7월 23일 답변
0 추천
서비스 : 서비스가 동작하지 않은 상태에서 서비스 요청 받을시

브로드캐스트리시버 : 브로드캐스트 수신시

액티비티 : 액티비티 start 요청 받을시

컨텐츠프로바이더 : 이건 컨텐츠 요청 받을시라고 봐야할지 애매하네요.

 

cp 말고는 생명주기가 다 있으니 자세한건 문서 ㄱㄱ
hunikey (1,220 포인트) 님이 2013년 7월 23일 답변
...