실무에서 안드로이드 프로그래밍 앱개발은?


지금까지 공부했던 포스팅 내용에서는 안드로이드의 소스인 java나 xml 파일을 새로 만들지 않고 안드로이드 개발환경 구성시 기본으로 설치된 소스를 수정해서 실습했습니다. 실제 안드로이드 실무 개발 환경에서는 이렇게 프로그램 개발을 하지는 않습니다.

대개의 경우에는 고객의 요청이나 설계에 따라서 직접 새로운 화면을 만들고 구성하게 됩니다. 그렇다고 처음부터 새롭게 만드는 것이 아니라. 기존의 소스를 복사해서(Copy & Paste) 사용하는 경우가 많습니다. 그런 개발 방법에 대해서 폄하하는 사람들도 있지만, 시분일초를 다투는 개발 현장에서 개발 시간을 단축하는 효율적인 방법 중에 하나임에는 틀림없습니다.

그렇지만 소스에 대한 이해는 반드시 중요합니다. 무조건 템플릿 소스를 복사해서 사용하다보면 안드로이드 프로그래밍에 대한 이해도가 떨어지기 때문입니다. 따라서 자신이 복사해서 사용했다해도 반드시 소스에 대해서 이해하도록 스스로 노력해야합니다.

현장에서 빠른 앱개발을 위해서 추가적으로 XP라고 부르는 익스트림 개발방법(extreme Programming)이나 Pair 프로그그래밍등도 적용해 보는 것도 좋을 것입니다.



실무에서 요긴한 안드로이드 프로그래밍 개발 방법 배우기


이번 시간에는 실무에서 개발하는 방법을 실습으로 배워보도록 하겠습니다.
이전 내용과 이어지므로 아래 포스팅을 순서대로 학습한 뒤에 진행하면 더 효과적입니다.



Activity 자바 클래스 만들기


안드로이드에서는 새로운 화면을 만들 때 Activity 라는 것을 만들게 됩니다. 실제 안드로이드는 화면 단위로 움직이는 경우가 많기때문에 간편하게 화면을 Activity 라고 이해하시면 됩니다.

먼저 왼편의 Package Explorer에서 조금 전 작성한 MainActivity.java를 선택합니다.



이제는 Ctrl+C 를 클릭해서 복사를 하고 다시 Ctrl+V를 해서 붙여넣기를 합니다. 



Activity 이름은 TestActivity 로 변경하고 OK버튼을 클릭합니다.



왼편 Package Explorer에 TestActivity.java가 생성된 것을 볼 수 있습니다. TestActivity.java를 더블 클릭하면 오른편의 프로그램 소스창에서 소스 내역을 확인 할 수 있습니다.



java 클래스의 이름이 TestActivity로 생성된 것을 볼 수 있습니다.




activity XML 파일 만들기


마찬가지로 res/layout 폴더안의 activity_main.xml 파일도 Ctrl+C로 복사한 뒤 Ctrl+V로 붙여넣기를 합니다.
그리고, xml의 파일의 이름을 test_activity.xml로 변경합니다.



이제 새로운 액티비티와 레이아웃을 복사 하였으므로 필요할 때 수정해서 사용하면 됩니다. 먼저 test_activity.xml 의 소스코드를 다음과 같이 수정합니다. 불필요한 버튼은 없애고 돌아가기 버튼만 만들겠습니다.

[ res/layout/test_activity.xml ]



TestActivity와 MainActivity 클래스 수정하기


TestActivity.java 소스를 다음과 같이 변경합니다. MainActivity.java에서 복사했던 소스이므로 onCreateOptionsMenu() 함수나 onOptionsItemSelected() 함수를 제거하고 아래 소스와 같이 돌아가기 버튼 부분만 구현합니다.

소스를 보면 onClick() 이벤트 발생시에 돌아가기 클릭이라는 메시지를 보여주는 것을 구현하였습니다.
이전에 설명한 내용이라서 넘어가겠습니다. 이 소스에서는 유심히 지켜보아야 할 부분이 있습니다.

그것은 바로 돌아가기 버튼 소스의 마지막 부분에 finish(); 함수를 사용한 것입니다. 만약 finish() 함수를 사용하지 않으면 안드로이드 시스템은 돌아가기 클릭하였음 이라는 메시지를 디스플레이하고 뭔가 다른 액션이 있는지 알고 계속 기다립니다. 후속 작업 지시가 없으니 계속 대기하고 있는 것입니다.
따라서 더 이상의 작업은 없을때는 finish() 함수를 적어주면 작업을 마치고 다시 원래대로 화면으로 복귀하게 됩니다.

[TestActivity.java]



이번에는 MainActivity.java 파일을 수정해야합니다. 안드로이드 앱이 실행될 때 MainActivity는 주인 역할을 합니다.

MainActivity에서 OK 버튼을 클릭했을 때 TestActivity를 호출하도록 소스를 수정하겠습니다.
onCreate() 메소드안에 Intent 객체를 활용해서 TestActivity.class을 호출하는 부분을 추가합니다.

메인 엑티비티에서 OK버튼을 클릭했을 때 인텐트의 파라미터로 새로 추가된 TestActivity.class 가 전달되는 것입니다.
OK 버튼을 누르면 인텐트는 TestActivity를 넘겨주게 됩니다.

[ MainActivity.java 에 추가할 내용 ]



[ MainActivity.java 전체 소스 ]



TestActivity 액티비티를 매니페스트(AndroidManifest.xml) XML에 등록하기


조금 전에 액티비티인 TestActivity를 만들었습니다. 추가한 액티비티인 TestActivity를 안드로이드 시스템이 인식할 수 있도록 매니페스트 xml에 등록하는 절차를 진행해야합니다. 

아래 화면과 같이 이클립스 왼쪽 Package Explorer의 아래쪽에 AndroidManifest.xml 파일을 클릭합니다. 


아래 화면에서 오른쪽 아래 AndroidManifest.xml 탭을 클릭합니다.



AndroidManifest.xml 소스 파일안에 <activity> 태그 부분에 다음을 추가합니다.


이렇게 AndroidManifest.xml 파일에 추가하면 안드로이드 시스템은 새로운 액티비티를 인식할 수 있습니다.




검증된 개발 프로세스 매뉴얼화 하기


개발을 하다보면 정작 프로그램 소스는 만들어 놓고서 시스템이 동작하지 않는 경우가 있는데 많은 경우 매니페스트 파일에 Activity를 추가하지 않는 경우가 많습니다. 따라서 실수를 줄이려면 다음과 같은 절차를 매뉴얼화 해서 순서대로 개발 진행하는 것이 좋습니다.

[ 새로운 액티비티 만들 때 작업 순서 ]

1. 새로운 액티비티 만들기(기존 액티비티 복사해서 만든다) 
2. 새로운 레이아웃 만들기(기존 레이아웃 복사해서 만든다)
3. 새로운 액티비티를 실제 사용할 호출부 수정하기(ex. MainActivity.java)
4. AndroidManifest.xml 파일에 새로운 액티비티 태그 추가하기


어플리케이션을 실행해보도록 하겠습니다. Ctrl+F11을 누르고 애뮬레이터를 실행합니다. OK 버튼이 보입니다. OK 버튼을 클릭하면 OK 버튼 클릭하였음 이라는 메시지가 출력됩니다. 그리고 나서 BACK 버튼이 있는 화면으로 이동합니다. 



BACK 버튼을 클릭하면 돌아가기를 클릭하였음 이라는 메시지가 출력되면서 다시 원래 화면으로 복귀하게 됩니다.


+ Recent posts