본문 바로가기
  • Veritas vos liberabit
Coding/Flutter

큐브 타이머 개발 ~2일차

by Rouxist 2021. 12. 6.

새로 배운 것들이 쌓일 때마다 정리하는 것이 좋을 것 같다.

(2일차까지의 내용을 3일차에업로드)


스톱워치

 

가장 기본 기능.

https://icodebroker.tistory.com/10093#google_vignette

Timer _timer; 에서 null을 고려 안했다가 late를 넣었다가 late에러나고 미궁에 빠질 뻔했다.

 

앞으로 :

-null, late 개념 공부

-1/1000초 기능 추가

 

Provider

 

timer 페이지에서 측정한 기록을 statstics, sessinos 페이지에서 사용해야 하기 때문에 페이지 간에 데이터를 공유시켜야 했다.

 

4일 밤 9시 쯤 시작해서 5일 밤 11시까지 provider를 어떻게 쓰는지만 붙들고 있었다. 결정적으로 도움이 된 건 

https://dev-yakuza.posstree.com/ko/flutter/provider/

16시간 가량 삽질을 한 이유는 provider의 작동 구조에 대한 잘못된 이해였다. 데이터의 값을 만들어서 추가한다고 provider가 아니라, Notifier에서 설정을 하고 provider는 최상단 위젯에 하나가 있으며, 그 외에 읽기/쓰기는 모두 consumer로 보아야 한다. 페이지들 간에 import 잘 해야 하고.. 

 

앞으로 :

-state의 개념 공부

-getter, setter 공부

 

 

List

스톱워치로 측정한 기록들을 순서대로 list에 모았는데, 처음에는 기록별로 [순서,기록] 의 두 가지 값을 가진 데이터를 차곡차곡 리스트에 쌓기 위해서 

wow.add(List.generate(1, (index) => {(wow.length + 1), '4,24'}));

wow가 어떻게 리스트 이름

List.generate를 봤는데.. 저렇게 하니까 [1, 4.24]가 통째로 리스트에 들어가서 한 시간정도 고민 끝에 그냥 기록만 쌓기로 했다.

어차피 순서대로 쌓이니까 순서는 굳이 기록 안해도 알 수 있으므로.. 대신 그럴 알기 위해 다음은 내용물이 리스트에서 몇 번째에 위치하는지 추출하는 법을 알아야 한다. (indexof)

 

앞으로 :

-indexof

-2차원 배열? 여기서 쓸지는 모르겠만

 

진행 정도

timer페이지에서 스톱워치로 측정하면 리스트로 축적해서 sessions페이지에서 보여주기까지 완료

 

 

이번 주 할 일 :

-settings 페이지에 토글 스위치 넣고 연결

-ListView로 sessions 토대 잡기

-스크램블 생성하는 알고리즘 해결하기

 

-state, null, late, class 공부

'Coding > Flutter' 카테고리의 다른 글

큐브 타이머 개발 ~40일차  (0) 2022.01.21
큐브 타이머 개발 ~14일차  (0) 2021.12.26
큐브 타이머 개발 ~8일차  (0) 2021.12.11
큐브 타이머 개발 ~4일차  (0) 2021.12.08