Flutter 개발일지 day 9
Hive 도입… 시도
Hive는 플러터에서 no sql 형태로 database를 쓸 수 있는 편리한 라이브러리라고 한다. 근데 이걸 실제로 적용하는데 좀 애를 먹었다. 예를 들어 어느 시점에 box를 open할 것인지, box를 main에서 open하면 하위 계층으로 이를 전부 다 전달시킬 것인지 등 처음 database를 적용하려다 보니까 모든게 낯설었다. 그래서 특별히 구현한 것은 없고 hive로 이것저것 시도하다가 끝났다… ㅠㅠ
자잘한 개선
MonthCal 화면을 기준으로 GestureDetecture를 통해 특정 일자를 클릭하면 Cursor에 그 날을 대입하도록 했다. 근데 여기서 문제점이 딱 그 숫자를 클릭해야하만 onTap으로 인식이 된다는 문제였다. 숫자를 제외하고 아래 빈 칸이 꽤 많은데 거기를 눌러도 인식이 안됐다. 이는 GestureDetecture에 behavior 옵션을 주어서 해결했다.
1
2
3
4
5
6
GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: (){
Provider.of<Cursor>(context, listen: false).changeCursor(widget.oneDay);
},
child: Container(...),
HitTestBehavior.translucent 옵션을 주면 투명한 곳을 클릭해도 onTap이 잘 작동된다.
아이디어 회의
어제 주간 화면을 구현해보면서, 실제 화면을 보니 주간 화면의 아랫부분이 너무 텅 비어있어서 이를 어떻게 채워나갈지를 논의해봤다. 어플 자체에 to-do 기능을 강화할 생각으로 진척도를 bar-graph로 표시해주는 안건도 나왔고, 전체적인 진행도에 따라서 이모티콘이 바꾸자는 의견도 나왔다. 예를들어, 진척도가 1/3 일때는 씨앗, 2/3 일때는 새싹, 1일때는 꽃이 피는 그런 방식 말이다.
배운점
Hive의 도입이 진짜로 생각보다 어려워서 당황했다. 아직 어플을 만들때 어디다가 data를 저장하고 하는걸 단 한 번도 해본적이 없어서 너무 낯설었다… 이전 프로젝트에서는 아예 외부 저장소인 firebase로 했어서 그런지 어플 내부에 뭔갈 저장하고 하는게 너무 어려웠다… 좀 더 삽질할 예정.