본문 바로가기

분류 전체보기44

[Flutter] 구글/카카오 Login API 구현 - 앱 배포후 수정해야 할 것 Virtual 디바이스, 그리고 개발용 실물 디바이스로 구글 로그인, 카카오 로그인을 모두 구현 완료하였고, 구글 플레이 스토어에 앱 배포가 완료된 후, 앱을 다운로드 받아서 실행해보니 로그인이 안된다. 더 희한한 것은.. 앱 설치 후 한 30초??? 정도 지나니까 또 로그인이 멀쩡히 된다. 뭐지? 근데 또 좀 있다가 다시 해보니 또 안된다. 코드로 로그를 찍어보니... 카카오는 바로 이부분. OAuthToken token = isInstalled ? await UserApi.instance.loginWithKakaoTalk() : await UserApi.instance.loginWithKakaoAccount(); 구글 로그인은 이부분. final GoogleSignInAccount? googleUse.. 2022. 12. 31.
[Flutter] 키보드 appear시 Textfield를 키보드 위로 올리기 하아 이틀 고생했다. Textfield 에 포커싱을 해서 글을 쓸수 있는 상태가 되면 자동적으로 soft keyboard가 올라온다. 그러면, 보통 이 키보드로 인해서 기존에 있던 위치의 textfield가 가려져서 내가 무슨 글을 쓰는지 올라오지 않는 상태가 되는데, iOS에선 keyboard active 상태를 받아서, 키보드 높이를 얻은 후 그만큼을 전체 height 를 offset에 맞게 조정해서... 암튼 굉장히 복잡했는데, Flutter에서는 너무 간단한 코드가 있다. resizeToAvoidBottomInset: true Scaffold 하위에 이 코드를 넣어주고, body를 SingleChildScrollView로 감싸주면 바로 해결이 되는 것이 정상.... 인데 return Scaffol.. 2022. 12. 30.
[Flutter] Notifier 사용하여 특정 page나 view 갱신하기 일단 상황을 설명하면, 게시판을 만들어 놓은 상태이고 Tab View를 만들어 놓았고, 각 탭에는 Notice, Freeboard 두개의 게시판이 있다. 그리고 Freeboard 안에는 List container로 이루어져 있어서 container 에서 해당 셀을 누르면 Freeboard_detail 로 이동한다. 즉, Tab > Freeboard > Freeboard_detail > Freeboard_container 이렇게 네 단계를 거친다. 맨 마지막인 Freeboard_container 에서 글을 삭제하면, freeboard 로 돌아가는데 setState로 게시판을 refresh 할 수가 없다. 뒤로 가는 두 단계 중 한단계가 Navigator로 이동한게 아니고, 다른 class 를 불러와서 붙여.. 2022. 10. 27.
[Flutter] 시간차이 구하기 (Time difference) Swift로 작성한 애플 전용 앱을 안드로이드로도 출시하기 위해서 요즘 Flutter 를 열심히 파고 있다. 익숙치 않아서 불편한 점이 아직 많지만, Swift 에서는 죄다 노가다 코드를 따로 짜야 했는데 플러터에서는 자체적으로 구현되어 있어서 아주 쉽게 작성할수 있는 부분도 꽤 많다. 그 중 Time difference 구하는 건 너무 쉽게 구현할수 있어서 블로그에 박제한다. Swift 에서는 년월일은 물론 시간분초 뒤에 micro second 까지 죄다 맞춰주지 않으면 서로 비교 조차 어려웠는데 플러터에선 parse 명령어 하나로 다 된다. UTC 구하기도 .toUtc() 하나 붙여주면 끝.. 위의 코드와 동일 import 'package:flutter/material.dart'; import 'pa.. 2022. 9. 15.