inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)

토큰 정보 유저정보에 저장하기

토큰 정보 유저정보에 저장하기 강의 4분 12초 코드를 동일하게 입력했는데 적용이 잘 안되는 것 같아요.

396

최성규-방음종합물류도매

작성한 질문수 17

0

위에 toString 부분이 정상적으로 활성화가 안 되는 것 같아요. 노란색 글씨로 변경되어야 하는 걸로 알고 있는데,

앞서 스플래쉬 화면에서도 토큰정보 가지고 올 때도 동일하게 코드가 반응이 없네요.

앱을 켜도 토큰 값이 로그캣에 뜨지않아요.

android kotlin firebase

답변 3

0

최성규-방음종합물류도매

2번에서 토큰 값이 정확히 받아오고 있는지 확인을 어떤 방식으로 해야하나요?

0

최성규-방음종합물류도매

람다 함수 내에서 로그를 찍어서 찍어서 동작하는지 점검하라는 것은 어떻게 하나요...

챗 지피티에서 아래와 같이 해라고 하는데 괜히 코드 건드렸다가 오류 발생할 거 같아서 못하고 있는데...

 

1. 로그 찍기(Logcat 사용)

안드로이드에서 로그를 찍는 것은 앱의 동작을 추적하고 디버깅하는 데 유용합니다. 안드로이드의 Log 클래스를 사용하여 로그 메시지를 출력할 수 있습니다.

2. completeListener 란?

completeListener는 일반적으로 비동기 작업이 완료되었을 때 호출되는 콜백 인터페이스입니다. 예를 들어, Firebase Firestore에서 데이터를 읽거나 쓰는 작업이 완료되었을 때 completeListener를 사용할 수 있습니다.

3. 람다 함수 내에서 로그 찍기

람다 함수를 사용하여 리스너를 구현할 때, 로그를 찍는 방법을 예제로 설명드리겠습니다.

예제 1: Firebase Firestore의 addOnCompleteListener 사용

java

코드 복사

FirebaseFirestore db = FirebaseFirestore.getInstance(); DocumentReference docRef = db.collection("users").document("user_id"); // 예시: Firestore에서 문서 가져오기 docRef.get().addOnCompleteListener(task -> { if (task.isSuccessful()) { DocumentSnapshot document = task.getResult(); if (document.exists()) { Log.d("FirestoreExample", "DocumentSnapshot data: " + document.getData()); } else { Log.d("FirestoreExample", "No such document"); } } else { Log.d("FirestoreExample", "get failed with ", task.getException()); } });

위 예제에서, addOnCompleteListener 메서드 안에 람다 함수가 사용되고 있습니다. 람다 함수 내에서 Log.d 메서드를 사용하여 로그를 찍고 있습니다.

예제 2: Firebase Authentication의 addOnCompleteListener 사용

java

코드 복사

FirebaseAuth mAuth = FirebaseAuth.getInstance(); mAuth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(this, task -> { if (task.isSuccessful()) { // 로그인 성공 Log.d("AuthExample", "signInWithEmail:success"); FirebaseUser user = mAuth.getCurrentUser(); } else { // 로그인 실패 Log.w("AuthExample", "signInWithEmail:failure", task.getException()); Toast.makeText(this, "Authentication failed.", Toast.LENGTH_SHORT).show(); } });

이 예제에서는 Firebase Authentication을 사용하여 이메일과 비밀번호로 로그인할 때, addOnCompleteListener를 통해 작업이 완료되었는지 확인하고 로그를 찍습니다.

4. 로그 확인

안드로이드 스튜디오에서 로그를 확인하려면 다음 단계를 따르세요:

  1. 안드로이드 스튜디오에서 Logcat 열기:

    • 하단의 Logcat 탭을 클릭하여 로그 창을 엽니다.

  2. 필터 설정:

    • 로그 메시지의 태그로 필터링할 수 있습니다. 예를 들어, 위 예제에서는 "FirestoreExample" 또는 "AuthExample" 태그로 로그를 출력했으므로, Logcat 창에서 해당 태그로 필터링하여 로그를 쉽게 찾을 수 있습니다.

  3. 로그 확인:

    • 로그 메시지가 출력되는지 확인하여 completeListener가 제대로 동작하는지 확인합니다.

이와 같은 방법으로 람다 함수 내에서 로그를 찍어 completeListener가 동작하는지 점검할 수 있습니다. 추가적으로 궁금한 점이 있으면 언제든지 질문해 주세요!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

코드와 설명을 바탕으로 추측하건대, FirebaseMessaging.getInstance().token.addOnCompleteListener 을 통해 구현하신 토큰 정보를 가져오는 과정에서 문제가 발생하는 것 같습니다. toString() 메소드가 예상대로 작동하지 않는 경우, 토큰 정보를 제대로 가져오지 못하고 있는 것일 수 있습니다.

  1. 먼저, addOnCompleteListener 가 정상적으로 호출되고 있는지 확인해주세요. 람다 함수 내에서 로그를 찍어서 CompleteListener 가 동작하는지 점검하십시오.
  2. addOnCompleteListener 내에서 result 또는 task 객체를 통해 토큰 값을 정확히 받아오고 있는지 확인해보세요. task.isSuccessful을 통해 성공적으로 토큰 값을 받아왔는지 확인할 필요가 있습니다.
  3. 에러 로그를 확인하기 위해 Log.e 대신 Log.d 또는 Log.i로 로그 레벨을 변경해보시길 권장합니다. 때로는 이러한 로그 레벨의 변경이 도움될 때가 있습니다.
  4. 안드로이드 스튜디오의 Logcat 필터링 설정을 확인해주세요. 로그캣에서 앱의 패키지 이름이나 특정 태그로 필터링되고 있는지 확인하시고, 필터링이 문제가 되지 않는지 점검하십시오.
  5. Firebase Cloud Messaging(FCM)이 프로젝트와 정상적으로 연결되어 있는지, google-services.json 파일이 최신 상태인지 확인해 주세요.

토큰 값이 로그캣에 나타나지 않는 경우, 위의 해결 방안들을 하나씩 시도해보시면 문제의 원인을 좀 더 명확히 파악할 수 있을 겁니다. 추가적으로 Firebase 공식 문서나 안드로이드 개발 관련 커뮤니티를 참고하시는 것도 좋은 방법입니다.

CardStackView 라이브러리 추가에 실패합니다.

0

98

1

CardStackView

0

124

2

CardStackView 오류 정상적으로 구현이 되지 않습니다.

0

198

3

최신화 된 강의 요청합니다

0

159

2

auth.currentUser?.uid.toString() 가 null 이 나와요

0

193

1

혹시.. 지금 최신 환경 상, 강의 내용대로 진행이 안 되는 걸까요?

0

240

1

현시점에서 알려주신 방법대로 서버키를 받는것이 안되는것같습니다

0

260

2

3강 firebase 쓰기가 동작하질않아요

0

183

1

강사님 실시간으로 혹시 문의하는 방법은 없을까요??

0

185

1

해당 강의 들으시는 분들 중에 교육관련해서 서로 얘기 나누실 분 있으신가요??

0

157

1

강사님 FCM 단계 진행하면서 오류들이 너무 많이 발생합니다...

0

206

1

FCM 토큰 문의

0

214

1

강사님 FCM 단계에서 전체적으로 앱 문제가 발생해서 혹시 원격으로 조치 해주실 수 있나요?

0

231

1

토큰 받아와서 메세지 보내기 강의 2분 20초 로그캣 확인 하는 창이 다르고 토큰 값이 안떠요.

0

221

1

FCM 강의, firebaseservice 클래스 내 오류코드 해결방안이 궁금합니다.

0

272

2

FCM 강의 중간부터 코드 오류가 발생했는지 앱에서 회원가입을 해도 파이어베이스 Authentication에는 회원등록이 해도 화면이 넘어가지 않고 데이터도 저장이 안 되네요.

0

294

3

섹션 1 CardStackView의 Implement members 질문있습니다.

0

227

1

수업자료 다운로드 후 알집풀기에서 오류가 발생합니다.

0

463

3

Retrofit 사용해보기 강의 2:20 쯤에 작성된 복사된 코드는 어디서 받나요?

0

234

2

강의 FCM 소개 1:56에 디펜던시 추가하는게 최신버전으로 바뀐 듯합니다.

0

275

1

매칭이 되면 알람 띄우기 강의에서 오류문구 해결방안이 궁금합니다.

0

355

3

소스코드 다운이 불가능합니다..

0

143

1

나와 다른 성별의 유저 불러오기 강의에서 에뮬레이터에서 앱이 켜졌다가 바로 꺼져요.

0

457

11

이미지 저장하기 강의에서 회원가입 후 이미지가 파이어 베이스에 저장되지 않습니다.

0

214

2