Seize the day

POST : Android Dev Study

환경 설정 페이지 고도화 CommonSettingsActivity

환경 설정 페이지Activity를 하나의 Activity에서 모두 처리하기 위해서 CommonSettingsActivity를 구현한다. 


이 Activity가 하는 일은 setContentView의 리소스 아이디를 Intent 파라미터로 전달 받아서 적절히 layout을 초기화 해 주면 끝이다. 설정 항목에 종속적인 구현은 layout에 따라 적절한 CommonSettingsHandler 와 ActivityCycleListener를 구현해 주면 동작은 여기서 다 해결이 된다. 


ActivityCycleListener.java : activity의 생명주기의 method를 자동으로 호출해 준다.




CommonSettingsHandler.java : setting 아이템이 초기화되거나, 클릭할 때 처리를 담당한다.


기본적인 브라우저로 열기, in app 브라우저로 열기, merket app 페이지 열기 등으 구현되어 있고, 

클릭시 선택 메뉴를 호출해 주는 getSelectionMenu, onMenuSelected가 제공된다. 





CommonSettingsActivity.java

base 라이브러리의 가장 기본적인 구현이다. 직접 사용하는 경우는 거의 없다. ActivityCycleListener를 적절히 관리하고, 호출해 주는 기능은 BaseActionBarActivity에서 한다. 간단하 코드라서 생략한다. 




이제 실제로 CommonSettingsActivity를 이용해서 환경 설정 페이지의 구현이다. 

HabitSettingsActivity.java 

프로젝트 종속적인 action 처리는 여기서 한다. getCommonSettingsHandler()에서 layoutId마다 적절히 처리할 handler를 구현하고, getActivityCycleListener()를 Override하여 적절히 구현하면 별도의 Activity인처럼 페이지 별로 각자 구현이 가능해 진다. 




WebViewActivity.java : in app Web Browser의 구현 Android dev site의 구현을 대부분 이용했다.

나중에 새로고침 버튼과, 닫기 버튼이 필요하겠다 구현 예정





top

posted at

2015. 7. 18. 23:57


CONTENTS

Seize the day
BLOG main image
김대정의 앱 개발 노트와 사는 이야기
RSS 2.0Tattertools
공지
아카이브
최근 글 최근 댓글
카테고리 태그 구름사이트 링크