안드로이드 프로그래밍을 이해하는 좋은 방법


안드로이드 프로그램을 이해하는 좋은 방법은 해당 소스코드를 실행시켜서 구현되는 화면을 확인하는 것입니다.
안드로이드 프로그래밍을 처음 접하는 입문자의 경우에는 실제 스마트폰에서 구동되는 화면과 소스코드 어떻게 엮여있는지 시스템의 구성을 이해하는 것이 중요합니다. 

이번 시간에는 이전에 만든 HelloAndroid 소스코드를 수정해서 프로그램 소스와 소스가 변할 때 어떻게 가상 스마트폰에 어떻게 변화되어 적용되는지를 함께 살펴보도록 하겠습니다.

이어지는 내용으로 선행 학습과정이 필요합니다. 이전 내용은 아래 포스팅을 참고바랍니다.


안드로이드 에뮬레이터 구동확인


먼저 프로그램을 실행해보기 위해서는 아래 화면과 같이 에뮬레이터가 구동되어 있어야 합니다. 에뮬레이터의 구동이 완료되어있다면 AVD Manager 창은 닫아도 됩니다.



이클립스의 왼쪽 Package Explorer에서 HelloAndroid 를 선택하고 Run As > Android Application을 클릭합니다. 애플리케이션을 실행하는 기능은 자주 사용하게 되므로 단축키인 Ctrl + F11 을 기억해두는 것이 좋습니다.



처음 애플리케이션이 구동되면서 Logcat을 사용할 것인지를 물어보는 화면이 나옵니다.
로그를 보기 위해서 Yes에 체크를 하고 OK 버튼을 클립니다.



애뮬레이터에서 우리가 만든 HelloAndroid 앱 프로그램이 구동된 것이 보입니다. 화면에 Hello world! 문구가 나타납니다.
해당 문구가 나타나는 곳을 찾고 수정해보도록 하겠습니다. 프로그램 소스를 조금씩 변경하면서 실행화면이 어떻게 변경되는지 확인할 것입니다.



안드로이드 소스코드 수정하기


왼쪽 화면의 Package Explorer에서서 우리가 만들어보았던 MainActivity.java 소스를 찾아서 클릭해보도록 하겠습니다.
MainActivity.java는 안드로이드 앱이 구동될때 가장먼저 실행되는 Java 소스입니다.

소스를 유심히 보면 onCreate() 함수가 있습니다.
R.layout.activity_main 이라는 소스코드에 마우스커서를 가져다 놓고 Ctrl 키를 누릅니다.
그리고 Open Declaration in layout을 클릭합니다. 마우스 클릭을 하면 이클립스 기존 화면에서 activity_main.xml 소스 화면으로 이동하게 됩니다.



여기에서도 조금전과 동일하게 마우스를 @string/hello_world 소스코드위에 올려놓고 Ctrl키를 누른 상태에서 클릭을 하면 strings.xml 소스로 이동하게 됩니다. 이클립스는 이렇게 Ctrl 키를 사용해서 해당 소스로 편리하게 이동 할 수 있습니다.



strings.xml 화일안에 Hello world!라는 문구를 디스플레이 하는 부분이 있음을 알 수 있습니다.
안드로이드나 자바개발환경뿐 아니라 요즈음의 대부분 개발도구는 xml 화일을 많이 사용합니다.

xml을 사용하면 많은 이점이 있습니다. 소스코드내에 변동이 많은 부분을 xml 화일로 관리하게 되면 프로그램이나 시스템의 유지보수 시간과 비용을 절약 할 수 있기 때문입니다.
 
xml을 사용하지 않는다면 하드코딩이나 파일IO, 혹은 데이터베이스를 사용해야하므로 불필요한 자원을 사용하게 됩니다.



예를 들어서 조금전에 보았던 Hello World!라는 글씨를 Java 소스코드 상에 작성하여놓았다면 어느날 Hello Wolrd!를 Hello Android!로 바꾸려면 소스코드를 수정하고 다시 컴파일 하는 과정을 거쳐야합니다. 또한 소스코드 중간 중간에 설정값들이 들어있다면 소스를 분석하는데도 결코 쉽지 않을 것입니다.

그래서 가능한 설정이 가능한 부분은 가능한 xml화일로 따로 분리해서 관리하는 것이 안드로이드 시스템뿐아니라 Java 시스템에서도 좋은 프로그램 방법입니다.

그럼 xml 화일을 다음과 같이 바꾸어 보겠습니다.






안드로이드 애플리케이션 실행하기


이클립스에서 Ctrl + F11을 클릭해서 안드로이드 프로젝트를 실행합니다.
변경된 소스가 적용되어서 가상 스마트폰에 Hello Android!로 문구로 바뀐 것을 볼 수 있습니다.




xml 화일의 위치


참고로 조금전에 살펴보았던 xml 화일은 res 폴더안에 다음과 같이 위치하고 있습니다.

여기서 소스의 참조를 살펴 볼 수 있습니다. strings.xml 참조 -> activity_main.xml 참조 -> MainActivity.java
호출은 참조의 역으로 진행됩니다.


+ Recent posts