본문 바로가기
반응형

[Flutter]64

Flutter Floor Migration ( 컬럼 추가 / 필드 추가 / 데이터베이스 업데이트) Flutter의 Floor는 안드로이드계의 Room과 같다. 데이터베이스를 생성하고 테이블을 생성하여 개발하다보면, 테이블의 필드를 새로 추가하거나, 없애거나, 자료형을 변경하는 상황이 생긴다 그래서 이걸 그대로 새로 적용하여 앱을 출시한다면, 기존에 이전버전의 앱을 사용하던 유저들의 앱에서 제대로 동작하지 않게 된다. 기존 앱 사용하던 유저 -> 새로운 데이터베이스 구조의 앱 설치 이런 상황이 되면, 데이터 변환 간에 문제가 생긴다. 아마 기본적으로 'column not exisit' 같은 에러가 발생할 것이다. Migration 해주기 위해선 어떤 작업을 해야 하는지 이 글에서 설명한다. 1. Entity 수정 우선, 수정하려는 Entity를 마음껏 수정한다. 필드를 추가하거나 지우거나 등등 impo.. 2022. 12. 31.
Flutter 안드로이드 위젯 구현 / 특정 화면으로 routing하기 며칠을 삽질하며 완성했다. 그것도 이것보다 중요한게 있는 시기에 ㅜㅜ 이거 삽질에만 며칠을 쏟았다. 저처럼 고생하지 마시고, 도움이 되시길 바랍니다!! 플러터만으로도 대부분의 기능들을 편리하게 사용할 수 있지만, 안드로이드 시스템 API를 사용해야 한다거나, 성능상의 문제로 native 코드를 작성해야 하는 경우가 있다. pub.dev의 대부분의 패키지 뿐 아니라 native code 와 병행해서 만들어진 flutter package 들도 아주 많다. 플러터와 안드로이드 네이티브 간 통신(MethodChannel)에 대한 구현도 있을 것이고 플러터의 동작 원리로부터, 안드로이드 코드를 수정하여 플러터의 동작을 제어하는 구현도 있다. 그 중 이번에는, 네이티브와 연동한 홈 위젯 구현에 대해 정리할 것이다... 2022. 12. 27.
Flutter에서 Android 동작 원리 안드로이드 개발을 해온 나로써, 플러터에서 안드로이드의 동작 원리가 궁금해졌다. 그리고 이는, Flutter에서 네이티브한 구현을 할 수 밖에 없는 위젯 구현에 대해서 진행할 때에도 많은 도움이 되었다. Flutter는 iOS / AOS 가 이해할 수 있는 C/C++ 언어로 컴파일 된 뒤에 그들 위에서 실행된다. AOS의 경우에 안드로이드의 MainActivity가 먼저 실행되겠고, 그 위에서 Flutter 코드 화면들이 동작한다고 추상적으로 생각하면 된다. 이 과정에서는 FlutterEngine이라는 것이 쓰이고, 이 로직이 FlutterActivity에 구현되어 있다. FlutterEngine은 각 OS에서 Dart 코드를 실행할 수 있게 해주는 인터페이스 역할을 해준다. 그리고 FlutterView.. 2022. 12. 25.
Flutter Firebase Messaging (포그라운드 / 백그라운드 / 종료) 모두 삽질을 일주일 정도 하고 정리한 글입니다 ㅜ.ㅜ 도움이 되시면 좋겠습니다. firebase configure가 이미 되어있는 전제 하에 설명하는 글이다! 이것이 안되어있다면 여기서 간단하고 빠르게 수행하고 이 글을 다시 보면 된다! 우선 pubspec.yaml 파일에 두가지 dependency를 추가한다. firebase_messaging: ^13.1.0 flutter_local_notifications: ^12.0.4 firebase_messaging은 말그대로 fcm을 위한 것이고 flutter_local_notification은 특수 경우 처리를 위한 것이다. FCM은 앱이 백그라운드 / 종료 상태에서 정상적으로 notification 알림 팝업이 동작한다. 하지만 앱이 포그라운드 상태일 경우에 n.. 2022. 12. 3.
반응형