첫 번째 앱 구조

앱이 만들어졌고 에뮬로 실행되는것도 확인했습니다.

앱이 실행되었을 때 보이는 글자는 직접 입력한것도 아닌데 화면에 나타나게 됩니다. 이 글자들이 어떻게 보이게 된것인지 알아 보겠습니다.

 

안드로이드 스튜디오의 mainactivity.java‘탭을 열어 확인해보겠습니다.

 


 

mainactivity.java 탭을 열어 자바 내용을 보면 표준 자바나 다른 언어에서 볼 수 있는 main함수를 찾아볼수 없습니다. 애플리케이션의 시작점이 되는 적으로 생각되는 main함수가 없는 것을 보아 안드로이드에서는 main 함수가 아닌 다른함수가 시작점이 되는것이라고 추측할 수 있습니다.




아마도 onCreate()함수가 시작점이 되는 것 같은데 그안에 매우 간단한 두줄의 코드만 들어있습니다. 첫 번째 줄에서는 super이라는 키워드를 사용하고 있는데 상속을 받은 클래스가 부모 클래스를 가르킬 때 super키워드를 사용하므로 부모클래스에 있는 동일한 이름의 oncreate()함수를 호출하는 것임을 알수있는데요. 따라서 이 코드에는 큰 의미를 두지 않아도 될거같습니다. 그렇다면 한줄의 코드가 화면에 글자를 보이도록 한 것으로 생각할 수 있습니다.

 



이 한줄코드에서 보이는 setcontentView()라는 함수에 대해 그 의미를 알수없다고 해도 굉장히 중요한 역할을 한다고 짐작할수 있습니다. 파라미터로 전달된 R.layout.activity_main은 기존의 자바에서는 보기힘든 형태인데 결국화면에 어떤 내용이 보이도록 만든 정보라는 것을 이해해야 합니다.

 




그럼 src폴더가 아닌 다른 폴더의 정보를 보겠습니다


안드로이드 스튜디오 화면의 왼쪽에 보이는 영역이 프로젝트 영역인데 Android 탭 안에 트리 구조로 만들어진 내용이 표시되어 있습니다


이곳에서 app이라는 하위에 ‘/res’ 폴더를 보면 

그 밑에 있는 여러 폴더중 ‘layout’ 폴더를 찾을수 있고 그밑에 ‘activity_main.xml‘이라는 파일이 있습니다.



 












‘activity_main.xml‘ 파일을 열어 보면 프로젝트가 만들어 질 때 만들어진 탭이 다시 화면에 보이는데 그안에 ’hellow world’ 글자가 들어있습니다. 결국 ‘activity_main.xml‘파일의 내용은 앱을 실행 했을 때 처음 보이는 화면이 어떤 모양으로 구성되는지를 담고 있는 것입니다.






 ‘activity_main.xml‘ > Text 창


‘activity_main.xml‘ > Design 창



화면 하단에 있는 탭중에 Text탭을 누르면 XML의 내용을 직접 볼수 있고 바꿀수 있습니다.

‘design’탭을 선택하면 마우스를 이용해 버튼과 같은 것들을 화면에 직접 넣을 수 있는 디자인화면이 표시됩니다.

 

이를 통해 ‘activity_main.xml‘파일에서 만들어준 화면 모양을 앱이 그대로 보여준다는 것을 이해할 수 있습니다. ’mainactivity.java 파일 안에 들어 있는 ‘setContentView()’함수를이용해 ‘activity_main.xml‘의 내용을 화면에 설정하는 것도 어느 정도 이해할수 있습니다

+ Recent posts