본문 바로가기
인프런) 앱 8개를 만들면서 배우는 안드로이드 코틀린

섹션 6. 다이어트 메모 앱 만들기(1)-파이어베이스로 익명 로그인 기능 구현하기

by 농농씨 2023. 9. 4.

서버란?

사용자가 데이터 요청하면 데이터 돌려주는 역할을 함. 웹/앱 마찬가지

 

서버가 하는 역할을 '파이어베이스'가 대신할 수 있다.

파이어베이스 이미지

 

예를 들면 앱에서 비회원으로 이용하는 데이터도 앱 켜는 즉시 각각의 사용자들에게 유저 ID를 부여해서 회원별로 기록된다.

이런 기능도 파이어베이스에서 이용할 수 있다.

 

파이어베이스 사용하기 전,

'동기'와 '비동기'

동기는 일을 차례대로 하나씩, 비동기는 여러 일을 한꺼번에 할 수 있다.

사용자에게 로딩이 지연되는 느낌을 덜하게 할 수 있다.

 

파이어베이스 실습을 해보자

프로젝트를 만들고 액티비티 파일 최상단에 뜨는 패키지명을 알고 있어야 파이어베이스 등록이 가능하다.

파이어베이스 홈페이지에 들어가서 시작하기를 클릭한다.

프로젝트 만들기를 클릭하고 프로젝트 이름을 임의로 만들어준다.

계정 아무거나 해주고

프로젝트 만들기 클릭!

이렇게 파이어베이스 프로젝트를 만들고, 우리가 만든 앱을 등록해주면 된다.

안드로이드 모양 버튼 클릭!

 

아까 만든 프로젝트에 있던 패키지 이름 입력해주고 앱 등록 클릭!

조금 기다리면 오른쪽 화면 나온다.

구성파일 다운받으란거 다운받아준다. 하란대로 파일 옮겨준다.

 

또 하란대로 다 추가해준다.

그래들 파일 바뀌어서 상단에 나타나는 'Sync now' 를 눌러서 동기화 해주고 다시 '다음'버튼 눌러준다.

<오류노트

헉, 이미 되어있다고 뜬다.

Plugin with id 'com.android.application' was already requested

그래서 라인 5의 선언을 지웠더니 잘 동기화된다.

/>

 

설정이 끝났다.

이제 파이어베이스 기능을 사용할 수 있다.

익명 로그인부터 알아본 후 이메일 로그인을 알아볼 것이다.

 

익명로그인

먼저 파이어베이스 콘솔 창의 좌측 상단 더보기 버튼을 눌러서 나오는 Build-Authentication이 로그인 기능을 나타낸다.

Authentication누르고 시작하기 눌러주자

익명 로그인부터 알아보기로 했으니 익명 선택하고

사용설정 켜주고 저장!

 

이제 익명로그인을 구현해보자.

다시 프로그램으로 와서~

메인액티비티에 대충 로그인버튼 만들어주고~

 

이제 버튼 누르면 실행될 이벤트 처리를 해보자

메인액티비티로~

 

텍스트뷰 뷰바인딩으로 뷰 객체 만들어주고,

setOnClickListener 함수로 이벤트 실행할 부분 적어준다.

내용을 어떻게 적어야 할까?

구글링해보자.

가이드라인이 나온다.

아까 해 준 선언들도 안돼있음 하라고 뜬다.

그 다음부터 절차를 따라가보자.

 

복붙하고 빨갛게 뜨는 부분을 alt+enter로 임포트해서 동기화시키는 중인 사진이다.

 

다음과 같이 필요없는 부분은 지워주고 메인액티비티를 작성하자.

( 강의에서는 2번 코드를 복붙하지 않고 3. 익명 사용자 로그인 처리만 복붙했다.

강의에서 생략된 코드

)

 

 

 

<오류노트

로그인 기능 구현하고 빌드 실패해서 왜 그런가 했더니

아까 다운받으라고 했던 google-services.jason 파일을 프로그램이 못찾고있는 것이었다.

src 폴더 안으로 옮겨주니까 해결됨.

/>

 

 

가상기기를 Run 시킨 뒤 버튼을 눌러보자

버튼 여러번 클릭해서 로그가 여러개 찍혀버렸다.

Logcat에서 MainActivity로 검색하면 uid가 생성된 것을 볼 수 있다.

 

파이어베이스 콘솔에 들어가서 User 정보를 확인해보면

위의 사진과 uid 동일

버튼을 클릭할 때 setOnClickListener 함수가 실행되면서 생긴, 익명의 유저정보가 아주 잘 들어와있는 것을 확인할 수 있다.