일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
목록Flutter (41)
Flutter 개발 상자

선결론 답은 안된다. 물론 이 답변은 된다/안된다 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..
안드로이드 파일관리 앱으로 파일을 삭제한 후 똑같은 이름으로 파일 생성을 하려고 하면 위와 같은 에러가 뜨면서 생성되지 않는다. 휴지통 비우기, 캐시삭제 다 해보았지만 해결은 되지 않았다. 그냥 다른 이름으로 파일을 저장하는것으로 해결하였다.

해당 문구가 뜨는 이유 해당 문구는 안드로이드 스튜디오에서 IOS 디바이스로 앱 실행을 했는데 안드로이드 스튜디오에서 디버깅을 하지 못하고 Xcode로 디버깅 권한이 넘어간 상황일때 발생한다. 보통은 안드로이드 스튜디오에서 로그 확인이나 터미널 명령어를 수행하기 때문에 이런 상황은 불편하다. 명령어를 수행하는 방법 다행히 오류 메시지에 해결방법이 적혀있다. Settings > Privacy & Security > Automation. 근데 이걸 Xcode에서 하라는건가? 아니면 안드로이드 스튜디오? 아니면 디바이스? 이부분이 좀 햇갈려서 메모를 해둔다. 정답은 맥 디바이스에서 수행하는 것이다. 왼쪽 위 사과아이콘을 누르고 시스템 설정을 누른다. 개인정보 보호 및 보안 - 자동화를 누른다. 그림과 같이 해..
에러의 원인 정확한 에러 원인은 알 수 없으나 플러터 3.16 업데이트 이후에 특정 라이브러리와 충돌하면서 발생하는 안드로이드 빌드 에러이다. 수정법 android { ... packagingOptions { pickFirst 'lib/x86/libc++_shared.so' pickFirst 'lib/x86_64/libc++_shared.so' pickFirst 'lib/armeabi-v7a/libc++_shared.so' pickFirst 'lib/arm64-v8a/libc++_shared.so' } } packagingOptions 코드를 android/app/build.gradle (앱수준 그래들)에 android 블록 안에 넣어준다.
현재 디바이스의 언어 설정 가져오기 Locale deviceLocale = PlatformDispatcher.instance.locale; String langCode = deviceLocale.languageCode; print('langCode : $langCode'); // 'ko' 간단하게 가져올 수 있다. 보통 다국어 설정은 arb나 json으로 자동 설정되게 하지만 서버에서 API로 번역된 문장을 보내줄 수도 있는데 이때 현재 디바이스 언어를 체크해서 어떤 언어로 보여줘야 할지를 판단할 수 있다. 요약 본문 참고