Android (3)

💻 Programming

[Android/안드로이드] Fragment 사용하기

안녕하세요 케이치입니다. 


오랜만에 포스팅을 하게되네요. 오늘은 안드로이드 스튜디오에서 프래그먼트를 이용한 화면전환을 해보도록 하겠습니다.


이 포스팅을 하게된 이유는 Do It 안드로이드의 동영상 강좌 소스(롤리팝 기준 Day 10 - 2)가 현재 안스에서 생성해주는 기본소스와 다르기 때문입니다.


일단 개발환경부터 보시죠.




자, 일단 안스에서 새로운 프로젝트를 생성해보도록 합시다. 

아래 스크린샷대로 따라서 해보시고 생성된 소스가 동일한지 확인하세요.













자, 이제 우리는 여기에 새로운 프래그먼트 클래스를 만들고 그 프래그먼트의 레이아웃을 추가할 것입니다.

새로 생성될 파일은 두개입니다.

MenuFragment.java와 fragment_menu.xml 입니다.

MenuFragment.java는 MainActivityFragment.java를 복사해서 생성하시면되고

fragment_menu.xml은 fragment_main.xml을 복사해서 생성하시면 됩니다.


자, 이렇게 두개를 추가하셨으면 기존 소스를 아래처럼 변경해주세요.


MenuFragment.java


fragment_menu.xml


MainActivityFragment.java


fragment_main.xml



MainActivity.java


activity_main.xml


변경된 소스를 보시면 메인액티비티 쪽이 좀 크게 바뀌었습니다. activity_main.xml에서 Fragment가 아예 빠져버리고 그 자리를 RelativaLayout이 차지했습니다.


그리고 MainActivity.java에서 setContentView 다음에 한 라인이 추가되었는데 이 라인이 하는 일은 프래그먼트 메니저가 메인 레이아웃 즉 RelativeLayout에 메인프래그먼트(MainActivityFragment)를 추가하는 것입니다. 

그리고 버튼 클릭 리스너에는 프래그먼트메니저가 메인프래그먼트와 메뉴프래그먼트를 교체해주는 기능을 구현했습니다.


이렇게 함으로써 각 프래그먼트에서 다른 프래그먼트를 호출(버튼을 클릭함으로써 호출)할 때 서로 교체가 가능하도록 했습니다.


activity_main.xml에서 Fragment를 뺀 이유는, 해보시면 아시겠지만, 메인 레이아웃을 아예 Fragment로 지정함으로써 엑티비티에 올라간 프래그먼트가 프래그먼트 관리자의 replace메소드가 호출이 되었을 때 destroy 되지 않기 때문입니다. 정확한 이유는 제가 아직 초보자라 잘 모르겠지만 관리자의 손을 떠난 다고 해야하나, 프래그먼트가 그냥 하나의 액티비티가 되어버린것 같은 느낌이 듭니다. 그래서 처음에 화면이 중복되어 나오길래 방안을 찾아서 한 것이 위와 같은 방법이었습니다.


그냥 혼자 공부하면서 끄적이는 거라 정리가 잘 안된것 같긴 한데 조금이라도 도움이 되셨으리라 생각하고 이만 줄이겠습니다. 


이상 케이치였습니다. 


건강조심하시고 즐프하세요 ^-^ ( 전 여름 감기에 걸려서 죽을맛이네요 ㅠㅠ )



Android Studio 단축키 모음집입니다.


참고로 안드로이드 스튜디오가 인텔리J기반이라는 건 다들 아시죠?


그래서 인텔리J와 단축키도 동일합니다.


인텔리J를 사용해보지 않으신 저 같은 분들은 첨부파일로 올려놓았으니 다운받아서 프린트해놓고 보시면 좋을것 같네요 ^-^


첨부파일은 윈도우 버전과 Mac OS 버전 두가지로 나뉘어져 있습니다.


IntelliJIDEA_ReferenceCard.pdf


IntelliJIDEA_ReferenceCard_Mac.pdf


💻 Programming

안드로이드 스튜디오 단축키

Keyboard Commands

The following tables list keyboard shortcuts for common operations.

Note: This section lists Android Studio keyboard shortcuts for the default keymap. To change the default keymap on Windows and Linux, go to File > Settings > Keymap. If you're using Mac OS X, update your keymap to use the Mac OS X 10.5+ version keymaps under Android Studio > Preferences > Keymap.



Table 1. Programming key commands

ActionAndroid Studio Key Command
Command look-up (autocomplete command name) CTRL + SHIFT + A
Project quick fix ALT + ENTER
Reformat code CTRL + ALT + L (Win)
OPTION + CMD + L (Mac)
Show docs for selected API CTRL + Q (Win)
F1 (Mac)
Show parameters for selected method CTRL + P
Generate method ALT + Insert (Win)
CMD + N (Mac)
Jump to source F4 (Win)
CMD + down-arrow (Mac)
Delete line CTRL + Y (Win)
CMD + Backspace (Mac)
Search by symbol name CTRL + ALT + SHIFT + N (Win)
OPTION + CMD + O (Mac)




Table 2. Project and editor key commands

ActionAndroid Studio Key Command
Build CTRL + F9 (Win)
CMD + F9 (Mac)
Build and run SHIFT + F10 (Win)
CTRL + R (Mac)
Toggle project visibility ALT + 1 (Win)
CMD + 1 (Mac)
Navigate open tabs ALT + left-arrow; ALT + right-arrow (Win)
CTRL + left-arrow; CTRL + right-arrow (Mac)



For a complete keymap reference guide, see the IntelliJ IDEA documentation.




출처 : http://developer.android.com/sdk/installing/studio-tips.html