08-03 NavigationHelper

Ruinak·2021년 8월 3일
0

Android Lesson

목록 보기
19/26
post-thumbnail

어제 작성 코드의 단점

  1. 화면이 늘어날수록 미세하게 바꿔줘야하는 부분들이 생기게 되서 실수를 하게 될 가능성이 높음
  2. 동일한 코드의 반복됨 -> 반복되는 코드는 동일한 하나의 함수로 빼놓을 것임(Helper 생성해서 보완)

Helper 작성

  • 새로운 패키지인 helper를 만든 후 NavigationViewHelper 클래스 생성합니다.
  • 기존 MainActivity 내부에 코드를 복사해서 붙여넣습니다.
  • 이 코드를 다듬어서 Helper를 만들 예정입니다.
  • switch를 if-else로 바꿔줬습니다.
  • switch는 스택을 공유하기 때문에 나중에 사용하기 불편합니다.
  • 첫 번째로 NavigationView nav를 받습니다.
  • NavigationView을 받음으로써 getItemId( )를 사용할 수 있습니다.
  • 두 번째로 Context context를 받습니다.
  • MainActivity.this를 context가 대체합니다.
  • startActivity는 context.으로 시작합니다.
  • Context를 먼저 받고, Navigation을 두 번째로 받게 설정합니다.
  • 최상단 로그 아래에 Context를 먼저 선언해줍니다.
  • Context는 MainActivity의 부모이므로 this로 선언이 가능합니다.
  • MainActivity에서 기존의 initLr( ) 코드를 다 날려버리고 NavigationViewHelper.enableNavigation(mContext, nav);를 넣어줍니다.
  • 간단하게 1줄로 대체가 가능하며 이 코드 그대로 SubActivity에서도 사용할 수 있습니다.(바뀌는게 없기 때문에)
profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글