[프로젝트] 날씨별 옷차림 추천 Chap.3 카카오API 사용[에러 해결]

Boknami·2022년 10월 23일

프로젝트_ohOOTD

목록 보기
4/7
post-thumbnail

카카오톡 API & Flutter

⚙기능

  1. 카카오톡 로그인🚨
  2. 카카오톡 공유하기

🚨에러 발생 및 해결

  1. API 연결 과정 속 실수

API 연결을 위해 플러터 프로젝트에서 "카카오 로그인 Redirect URI 설정을 위해 application 하위에 새로운 activity를 추가합니다." 라는 부분을 위해 AndroidManifest.xml 파일을 찾았는데 이게 여러 개가 있을 줄 모르고 src어딘가에서 본 기억을 더듬어 찾고 알맞지 못한 AndroidManifest.xml 파일에 내용을 집어넣었다.

=> 어떤 파일을 열 때도 그 이름과 같은 파일이 여러 개가 존재할 수 있음을 상기하고, 경각심을 가지고 과정을 그대로 천천히 따라가야겠다.


  1. 로그인 성공 후 페이지 전환
    사용자가 토큰을 정상적으로 가지고 있다면 토큰의 정보를 가지고 다음 페이지로 넘어갈 수 있도록 Navigator를 사용하였다. 하지만 로그에서 로그인이 성공적으로 되었음에도 불구하고 내가 원하는 페이지로 넘어가지 못하여 난항을 겪었다. 이를 해결하기 위해서 로그에 뜬 Navigator오류 관련 메시지를 구글링을 하여 찾아보았다.
    "Navigator operation requested with a context that does not include a Navigator."
    네비게이터가 포함되지 않은 컨텍스트에서 네비게이터 작업이 요청되었습니다. 라는 말인데 이 말이 정확하게 무슨 말인지 몰랐다.

해결 참고 사이트
https://www.devopsschool.com/blog/solved-unhandled-exception-navigator-operation-requested-with-a-context-that-does-not-include-a-navigator/

해당 사이트를 읽고 MyApp은 내가 return해주는 MaterialApp의 부모이고, Material App을 실 객체로 인스턴스화하는 것은 widget이기 때문에MyApp의 BuildContext에는 상위 MaterialApp이 없기 때문에 발생한 문제라는 것을 알았다. 이를 해결하기 위해 가장 간단한 방법은 새로운 위젯을 만들어 도입하는 것이었다.

이를 위해 Myapp부분에 있던 로그인 부분을 새로운 class인 login_nextpage를 만들고 그 안에 API로직 구현 및 다음 페이지로 넘어감을 구현함으로서 문제를 해결할 수 있었다.

0개의 댓글