일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 희망적금전환
- 도약연계
- 플러터 #안드로이드 #플레이콘솔 #앱내리기
- 희망적금연계
- 안드로이드 #코틀린 #코루틴 #콜백 #채널
- 도약전환
- flutter #dart #stream
- Flutter #Stream #dart
- Flutter #Stream
- 조립 후 재부팅
- 도약계좌전환
- 청년도약계좌환승
- Today
- Total
목록전체 글 (84)
Flutter 개발 상자

들어가기 앞서서 사실 GetX를 쓰지 말라는 이유는 그전에도 꾸준히 있어왔습니다. GetX를 입문하면서 꼭 보게되는게 GetX는 쓰레기다. 너무 무겁다. Flutter가 아니라 GetX라는 프레임웍을 공부하게된다 등등 다양한 이유로 반대파들이 많았습니다. 하지만 제가 이야기하려고 하는건 기존의 이유와 좀 다릅니다. 까가 되버린 빠 저는 GetX의 팬이였습니다. GetX만 있으면 플러터에서 귀찮은 문제들을 다 해결할 수 있었고 작업속도 또한 빨랐습니다. 하지만 제가 다른 상태관리에 눈을 돌리게 된건 의외로 상태관리가 아닌 라우트 관리쪽이였습니다. 현재 GetX 4.6.6 릴리즈 버전은 Navigator 1.0 을 기반으로 하고 있습니다. 하지만 2023년정도 부터 플러터에서 GoRouter를 중심으로 Na..

에러 분석 위 에러는 UTF-8 인코딩 형식이 아닌 파일을 UTF-8 형식으로 읽고 쓰려고 했기 때문에 발생하는 에러이다. 위의 사진에서 알 수 있듯이 플러터는 txt 파일을 읽고쓸때 매개변수를 받지 않으면 기본적으로 UTF-8 형식을 사용한다. 따라서 다른 인코딩 형식의 파일을 읽고 싶다면 encoding 매개변수에 알맞는 인코딩 형식을 넣어주어야 한다. 파일 인코딩 형식 확인 MAC 기준 아래의 명령어를 터미널에서 실행 file -I 파일경로(확장자포함) 전 분명 UTF-8로 인코딩 했는데 왜 자꾸 인코딩이 잘못되는거죠? UTF-8 인코딩 형식으로 파일을 쓸때 UTF-8 인코딩으로 처리할 수 없는 문자가 들어가게 되면 인코딩이 깨져버리게 된다. �� 웹사이트에서 위와 같은 문자를 본적이 있는가? 웹사..
에러 분석 위 에러는 Riverpod Provider들이 서로가 서로를 의존하는 순환 참조 에러이다. 순환 참조에 대한 ChatGPT의 설명은 다음과 같다. 순환 참조(circular reference)는 두 개 이상의 객체나 모듈이 서로를 참조하는 상황을 나타냅니다. 이는 무한 루프와 같은 문제를 일으킬 수 있으며 메모리 누수와 같은 예기치 못한 동작을 초래할 수 있습니다. 프로그래밍에서 순환 참조는 주로 다음과 같은 상황에서 발생할 수 있습니다: 객체 간의 순환 참조: 클래스나 객체 A가 다른 클래스나 객체 B를 참조하고, 동시에 B도 A를 참조하는 경우입니다. 이런 상황에서 A를 가리키는 참조 카운트와 B를 가리키는 참조 카운트가 0이 되지 않아 메모리가 해제되지 않을 수 있습니다. 모듈 간의 순환..
Map을 통한 Stream의 기초적인 변형 개요 스트림의 변형은 스트림을 사용하다보면 반드시 한번은 겪게되는 문제중 하나이다. 또한 본인이 스트림을 쓰는것을 극도로 꺼려해서 프로젝트에 스트림을 전혀 안쓰더라도 사용하는 라이브러리에서 Stream을 통해서 값을 전달해줄 경우 결국 울면서 스트림을 사용할 수 밖에 없는데 이를 커스텀하기 위해서는 Stream의 변형이 필수적이다. Bluetooth 라이브러리 사실 내가 스트림을 어쩔 수 없이 붙잡게된 이유중에 하나이다. 플러터는 공식적으로 지원하는 블루투스 라이브러리가 없다. 따라서 메서드 채널로 구현된 서드파티 라이브러리를 쓸 수 밖에 없는데, 그중에 유명한것이 https://pub.dev/packages/flutter_blue_plus https://pub..

선결론 답은 안된다. 물론 이 답변은 된다/안된다 2개중에 선택하라고 했을때 안된다는거고 프로그래머의 성향에 따라서 Provider영역에서 Context를 받아서 ShowDialog를 해준다거나... 해줄수도 있다. 어찌됐건 권장하지 않는다는거지 아예 컴파일이 안되거나 런타임 에러가 발생하는건 아니다. 왜 안되는가? 에 대한 답변은 https://riverpod.dev/ko/docs/essentials/do_dont#avoid-using-providers-for-local-widget-state DO/DON'T | Riverpod To ensure good maintainability of your code, here is a list of good practices riverpod.dev 리버팟의 공식..
오류 분석 발생 조건 해당 오류의 발생 조건은 명확히 밝혀진게 없다. 플러터의 공식 패키지인 Camera 패키지를 사용할때 Android 기기에서 종종 발생하며 재현을 하려고 해도 재현자체가 쉽지 않아서 디버깅 자체가 굉장히 힘들다. 보통 플러터에서 발생한 에러는 앱이 크러쉬(팅김 현상)되는 일은 없는데 이 오류는 네이티브 영역에서 충돌이 발생하여 앱 자체가 아예 꺼져버리는 치명적인 에러이다. 에러의 역사 https://github.com/flutter/flutter/issues/114012 해당 에러는 이미 1년 전부터 발생한것으로 카메라 패키지는 공식패키지임에도 불구하고 자잘한 오류나 버그가 많고 업데이트도 좀 늦는편이라 패키지 자체적으로 수정을 기대하기는 좀 힘들 것 같다. 이를 대체할 서드파티 패..
오류의 의미 초기화 되지 않은 Provider의 상태를 읽으려고 해서 문제가 발생했다. 원인찾기 일단 초기화 되지 않은 Provider를 쓰고 있는지 확인해본다. 하지만 Riverpod은 Provider를 등록하고 사용한다는 개념이 없어서 override로 초기화 해서 사용하기 위해 일부러 throw 를 던지는게 아니라면 딱히 초기화 문제는 발생하지 않는게 보통이다. 제네레이터를 사용한다면 이걸 의심해보자 Riverpod Generator 에서 클래스형태의 NotifierProvider를 구현할 경우 build 함수를 통해서 초기화를 진행하게 되어있다. 그런데 여기서 build 함수가 끝나기도 전에 state에 접근한다면 문제가 생길 수 있다. 예를 들면 아래와 같은 코드는 문제를 발생시킨다. impor..

Talker 소개 패키지 소개 Talker pub.dev WebDemo Talker는 예전에 어떤분의 강의영상을 보면서 소개받은 로그 패키지인데 그냥 위의 로그프리뷰를 보고 한눈에 반해버렸다. Logger패키지 이상으로 이쁜 로그, 간단한 사용법, 꾸준한 업데이트, 그리고 멋진 로그 모니터링 화면 이거 갈아타지 않을 이유가 없는데? 싶어서 바로 Talker 패키지를 사용하기로 마음 먹었다. 간단 사용법 Talker의 기본 사용법은 매우 간편하고 logger 패키지와 사용법이 비슷한편이다. main 파일의 최상단 영역에 talker 전역변수를 설정하고 필요한 곳에서 호출해서 사용하면된다. // 전역변수 선언 final Talker talker = Talker(); void main() async { Wid..