본문 바로가기

프로젝트/caker5

[mystery] 도대체 왜? Future _loadStartTime() async { _prefs = await SharedPreferences.getInstance(); setState(() { startTime = _prefs.getString('startTime-${widget.value}'); }); } void _loadPreviousTimerState() { if (startTime != null) { isStartTimeLoaded = 1; } if (isStartTimeLoaded == 1) { if (isElapseCompleted == 0) { isPhotoTouched = 1; timer(); } if (isElapseCompleted == 1) { isPhotoTouched = 1; } } } @override.. 2023. 11. 7.
[Error] 리팩토링 후 타이머가 갑자기 동작하지 않음 일단 원인은 currentTime과 laterTime을 비교하는 isAfter함수를 사용했을 때 DateTime을 잘못 써서 그렇다. 이 문제를 마주했을 때 나는 이전에 잘되던 게 왜 안 되지? 이전과 지금의 차이가 뭐지?라는 생각을 중점적으로 했어야 했다. 그런데 두 시간을 비교하는 기능이 타이머 자체에 영향을 끼치리라고는 생각도 못했을 테니 어찌보면 이해할 만도 하지만 다음부터는 앱이 실행될 때 표시되는 로그들도 잘 보자. 이 로그를 보고 알아챌 수 있었다. E/flutter (18475): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'DateTime' is not a subtype of type 'Stri.. 2023. 11. 4.
sharedpreference 기능 적용하기 현재 문제점 sharedpreference에 오직 하나의 imagepath만 등록되어 있다보니 6개 영역 전체가 똑같은 사진이 나와버린다. MyappState -> tmpWidget -> cakeTimerUI -> TimerFunction 순으로 클래스가 계속 호출되는데 그렇다면 tmpWidget이 생성될 때 번호를 매겨서 TimerFunction에 전달하는 수밖엔 없다. MyappState에서 tmpWidget이 호출될 때 번호를 하나씩 부여받는다. 1, 2, 3, 4, 5, 6 그리고 이 번호를 클래스가 호출될 때마다 순차적으로 아래로 전달한다. 그러려면 생성자에 대해서 공부해야 된다 StatefulWidget에서 StatelessWidget으로 인자를 전달하는 건 쉽게 됐다. 그런데 Stateles.. 2023. 10. 8.
image_cropper 기능 실행 시 갑작스러운 화면 꺼짐 현상 emulating해보면 아래와 같은 증상이 계속 발생한다. 그러면, 디버깅 콘솔에는 항상 이렇게 나온다. 여기에 나온 대로 따라해봤지만 실패.. 혹시 몰라 visual studio와 Emulator 모두 종료 후 재시도해도 똑같은 현상 계속됨 https://stackoverflow.com/questions/77206299/unexpected-app-close-when-emulating-my-code-in-android-studioflutter-dart unexpected app close when emulating my code in android studio(flutter, dart) I am developing using the Flutter framework and Dart language with.. 2023. 9. 30.
target of URI doesn't exist 스택 오버플로우 찾아보니까 flutter packages get flutter packages upgrade restart VScode/Android studio 순서대로 이렇게 하라고 하던데 그래도 안 돼서 이 블로그 보고 해결했다. https://nayotutorial.tistory.com/48 [Flutter] 12. 플러터 패키지(package) 추가하기 플러터에서 http통신을 통해 데이터를 가져오기 위해서 http 패키지를 프로젝트에 추가해야 합니다. 외부 패키지를 프로젝트에 추가하는 방법을 알아보겠습니다. 이번 글은 다음 내용을 다루고 nayotutorial.tistory.com 2023. 9. 18.