오늘도 배우자!

귀찮음에 배움을 멀리하지 않기를...

Develop/Android

카카오톡 로그인 API를 사용해보자아(3)

리다양 2017. 2. 7. 18:29

드 디 어 카카오톡 로그인을 완성하는 글을 쓰게 되었다... 하아... 어렵진 않은데 뭔가 번거롭다... 그래도 도움이 되겠지...


이제 구현해야하는건 GlobalApplication, KakaoApapter, CallBack, KakaoLoginButton 요 네가지이다.


솔직히 요기는 적당한 복붙만하면 다 되는 부분이다...


출발해본다..


1. GlobalApplication 구현 및 Manifest 등록


클래스를 하나 만들어서 Application extends하여 구현을 시작하면 된다. 그리고 다음과 같은 소스코드를 복 to the 붙 

하면 GlobalApplication 구현은 끝난것이다.




참 쉽죠?? 여기서 끝난게 아니라 이렇게 구현한 GlobalApplicationManifest에 등록해줘야한다.

 

요기 보면 <application> 태그에 android:name 속성을 추가하고 우리가 위에서 구현한 GlobalApplication을 추가해주면 끝이다..

당황하지마세요... 진짜 이제 쉬울꺼다...요...


2. KakaoAdapter 구현


요기서는 카카오톡에서 어떤 정보를 가져와서 이 정보에 대한 처리를 담당하는 곳이다.

그리고 Adapter를 만들기 위해 클래스를 하나 더 만들어서 KakaoAdpaterextends하여 구현을 시작한다.



우리는 카카오톡 로그인 정보를 가져오기 때문에 AuthType KAKAO_LOGIN_ALL 이며

로그인 한 정보를 안드로이드에 쿠키(?)를 남겨두고 싶다면 isSaveFromData를 return true; 로 해주고 아니라면

return false; 로 해준다.


3. CallBack 구현


요 메서드는 어떤 역할을 하는 것이냐~~하면 앞으로 넣게 될 KakaoLoginButton에 대한 Callback을 설정하는 것이다.

그리고 이 Callback은 KakaoLoginButton이 존재하는 Activity에 구현해야지 엉뚱한데다가 구현해서 이게 안대여...하면 안대여... 일단 코드를 먼저 보도록 하겠습니다.


뭔가 복잡하...지않다... 그렇다... 복잡하지 않은 것이다... 당황하면 안댄다...

onCreate안에 존재하는 저 try ~ catch 문은 내가 처음에 키 해시 값을 구할 때 사용 한 코드이니 무시해도 괜찮고

일단 밑으로 스크롤을 내려서 request() 함수를 보자. 저기서 onSuccess자신이 원하는 정보를 가져오는 코드를 넣어두면

된다. 나는 Toast로 사용자의 닉네임을 가져오도록 설정하였다.


그리고 밑에 ISessionCallbackextendsSessionCallback이라는 클래스를 살펴보도록 하자.

저거는 그냥 간단하다 카카오톡 로그인 버튼을 누르면 작동하게되는 이벤트 리스너라고 생각하면 편하다.


그래서 카카오톡 버튼이 눌러지면 -> SessionCallback)onSessionOpened -> request() 이렇게 작동을 하게된다.


그리고 onActivityResult 메서드가 있는 데 요거는 카카오톡 로그인 버튼 누르면 Kakao SDK에 내장되어있는 로그인 전용

Activity가 지금 우리의 MainActivity에서 실행되고 그 로그인 전용 Activity가 끝난 후에 돌아와서 작동하도록 하는 메서드인데 저거 그냥 복붙해서 사용하면 된다...


마지막으로 onCreate문에 보면 아래에서 구현한 SessionCallback 클래스를 초기화 시키고, Callback에 등록해주는 코드들이다.


4. KakaoLoginButton


직접 보는게 최고겠지???




자신이 원하는 위치<com.kakao.usermgmt.LoginButton> 넣어서 사용하면 된다...

원하는 크기.. 위치... 입맛대로 말이다...


끝났어.. 구현이... 그러하다...

'Develop > Android' 카테고리의 다른 글

JSON 개념 이해  (0) 2017.02.11
OkHttp 사용법  (0) 2017.02.09
카카오톡 로그인 API를 사용해보자아(2)  (0) 2017.02.06
카카오톡 로그인 API를 사용해보자아(1)  (5) 2017.02.05
Navigation Drawer를 사용해보자  (2) 2017.01.06