Antilog의 개발로 쓰다
article thumbnail
반응형

NUTEE - 성공회대 커뮤니티 앱
일단 해당 프로젝트는 안드로이드를 접한지 3개월 미만일때 1.0버전의 대부분을 공부하며 만들었던 프로젝트다.

리드개발자없이 강의만으로, SOPT 세미나를 들어가면서 코드를 작성한 프로젝트이다.

이 프로젝트는 SOPT 활동이후 다시 시작하여 이전에 존재하는 코드를 리펙토링하고 기능을 추가하여 릴리즈 하기 위해서 제작중이다.

기존에 NUTEE에서는 안드로이드를 배운지 3개월도 안된 상태여서 그저 모든 로직을 그냥 그 페이지에 있다면 모두 그 곳에 작성하였다. 그렇기에 Fragment끼리 의존성도 생기고 추후 상당히 유지보수하기 힘들 것이라 생각이 들었다.

또 Fragment가 필요한 부분에서는 사용하지 않고 Activity에 몰빵해서 에러가 나도 고칠 수 없는 상황에 이르렀다.

특히 회원가입을 담당하는 Activity는 에니메이션과 visible과 gone처리로 마치 화면이 넘어가는 듯이 처리를 하였기에 넘어가는 화면들을 각각 fragment로 나누기로 하였다.

그런데, 분리된 fragment에서 1번에서 email, 2번에서 name 3번에서 password를 받는다면 서버연결을 3번할 수는 없으니 각 정보를 모두 Activity로 가져와야하기에 여러가지 고민을 해본결과.

기존에 Fragment에서 단독으로 처리가 가능한 유효성검사, 2회 누름 방지 기능정도만 처리하고

서버연결과 다른 fragment에 영향이 가는 event들은 모두 Activity에서 처리하기로 하였다.

Fragment에서는 다음과 같이 Activity에서 던져주는 이벤트를 받을 변수를 준비하고 역으로 각 Fragment에서 작성된 내용을 Activity로 보내주기위한 아래와 같은 인터페이스도 작성해보았다.

해당 인터페이스 사용법은 추후에 자세히 정리하여 다뤄볼 생각이다.

 

이렇게 처리함으로 사실 Activity가 많이 무거워지면서 Fragment나 ViewHolder등이 가벼워졌다.

안드로이드를 초기에 배웠을 시기에는 왜 Activity 즉 컨트롤러가 무거워지고 하는일이 많아서 mvvm이 필요한지 몰랐는데 이제와서보니 그 이유를 알것같다.

반응형
profile

Antilog의 개발로 쓰다

@Parker_J_S

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...