PROJECT/프로젝트

[프로젝트] 토이 프로젝트 : 인스타그램 클론 코딩

주 녕 2021. 7. 22. 21:17
반응형

Android를 더 공부하고 싶어서 반년을 휴학했다. 다시 학교로 돌아가기 전에 간단한 프로젝트를 진행하고 싶었다.

내가 어떤 서비스를 기획하고 만드는 것도 좋지만 빠르게 진행하고 싶었기 때문에 클론 코딩을 하게 되었다. 이미 나와있는 서비스를 내가 다시 만들어 보는 것도 이런 기능은 어떻게 구현되는지 다시 한번 생각해 보는 계기가 되기 때문에 많은 도움이 될 거라고 생각한다. 실제로도 내가 사용하는 앱들이 어떻게 구현되는걸까 한번씩 생각하게 된다.

 

  • 프로젝트 명 : 준스타그램 (인스타그램 클론코딩 프로젝트)
  • 어플리케이션 명 : Junstagram
  • 개발기간 : 2021.07 ~ 2021.09

해당 프로젝트는 아래의 2019년도 강의를 참고하여 Kotlin으로 진행하였다.

[인프런] 하울의 안드로이드 인스타그램 클론 만들기

 

[무료] 하울의 안드로이드 인스타그램 클론 만들기 - 인프런 | 강의

이 강좌를 통해서 인스타그램 앱을 만들 수 있습니다., 피아노를 배우기 위해서는 피아노를 쳐서 몸에 감각을 익혀야 합니다. 프로그래밍도 마찬가지입니다. 일단 타이핑을 해서 감각 코딩 감각

www.inflearn.com

 

 

이 프로젝트를 진행한 목적/목표는 다음과 같다.

  1. Firebase를 이용한 개발 경험 쌓기
  2. ViewBinding을 이용하여 UI 개발하기
  3. 안드로이드 최신버전을 사용하여 deprecated된 기능 스스로 해결하여 개발하기

 

1번 목표 : Firebase를 이용한 개발 경험 쌓기

Firebase Auth를 이용한 구글 로그인, 이메일 로그인 기능을 개발하였으며, 데이터 저장은 FireStore를 이용하여 진행하였다.

Firebase를 하면서 연동 이슈도 만나게 되었고, 구글 로그인 파트를 개발하면서 deprecated된 startActivityForResult()를 해결하기 위해 Activity Result API를 이용하였다.

 

[Android] Your anti-virus program might be impacting your build performance. - Firebase 연동 오류 해결

오늘은 Firebase 연동 중 발생한 오류를 해결한 방법에 대한 포스팅이다. Firebase Auth를 사용하기 위해 연동했고, 에뮬레이터를 실행하니 아무 동작도 하지 않았는데 갑자기 타임아웃 에러가 나며

junyoung-developer.tistory.com

 

[Android] Activity Result API를 이용한 Google 로그인

인스타그램 클론을 하면서 해당 이슈가 발생했고 내가 하고 있던 작업은 Google 로그인을 연결하는 부분이었습니다. Firebase의 공식 문서에서도 아직 startActivityForResult()를 사용하고 있는 것을 확인

junyoung-developer.tistory.com

 

2번 목표 : ViewBinding을 이용하여 UI 개발하기

Activity 부분은 ViewBinding을 이용하여 개발하였다. '법과 점심'이라는 프로젝트 개발 시,  'kotlin-android-extensions'이 deprecated되며 ViewBinding에 대해 알게 되었고 이번 프로젝트에도 적용하여 개발하였다.

 

3번 목표 : deprecated된 기능 스스로 해결하여 개발하기

클론 프로젝트는 다음과 같은 환경에서 진행하였다.

  • AndroidStudio : 4.2.2 
  • targetSdkVersion : 30
  • minSdkVersion : 21
  • Kotlin : 202-1.5.21-release-315-AS8194.7 

오랫동안 안드로이드 스튜디오 업데이트를 하지 않아 4.1.3 버전에서 개발하고 있었다. 최신 버전을 받아 개발하면서 많은 deprecated 기능을 발견할 수 있었고, 꾸준히 업데이트하여 개발해야 겠다고 생각했다. 특히 setOnNavigationItemSelectedListener의 deprecated 이슈 해결은 많은 분들에게 솔루션을 제공하는 인기글이 되는 뿌듯함도 경험하였다.

 

[Android] setOnNavigationItemSelectedListener deprecated 해결

인스타그램 클론 코딩을 하는 도중, BottomNavigation을 만들면서 만난 issue입니다. BottomNavigation의 리스너인 setOnNavigationItemSelectedListener를 이용하여 select 이벤트를 완성하려고 했는데, 이번에..

junyoung-developer.tistory.com

 

반응형