본문 바로가기

Tech/flutter15

[flutter] Dart sort함수 정리 javascript에서 array.sort(function(a,b) {return a-b;}).map(~~~~) 이런 식으로 많이 쓰다가 flutter에서 그렇게 쓰려고하니 막힌다. dart에서 .sort는 리턴값이 없으며 그냥 해당 리스트 자체를 소팅시킨채로 변화시키므로 그 값을 사용해야 한다. List nums = [13, 2, -11]; nums.sort(); print(nums); // [-11, 2, 13] 2020. 8. 24.
[flutter] Expanded, 뭐하는 애지? Row나 Column 위젯을 사용하다보면 Expanded라는 요소를 써야할 때가 있고, 이유모를 에러를 만날 때가 있다. 그래서 써보는 개념정리용. Expanded 위젯은 Row와 Column, Flex의 자식으로 사용 가능하며, 부모의 남은 부분은 전부 채우는 식으로 화면에 나타난다. Expanded가 하나라면 나머지 칸을 전체 채우고, 여러개라면 n분의 1 크기를, 그리고 expanded 내의 flex(int형) 값을 조절해주면 그 크기 비율도 조절할 수 있다. (flex가 2, 1이면 크기도 2:1) 기본 flex값을 1로 갖고 있다. 주로 사용하는 방법 - UI 상 남는 공간이 없게 화면을 꽉 채우고 싶을 때 - 특정 컴포넌트들을 폰 화면 넓이에 맞게 비율로 적용하고 싶을 때 주로 나는 에러 - .. 2020. 8. 19.
[flutter] JSON 직렬화 아주 쉽게하기(Model Class 쉽게 만들기) flutter로 각종 외부 api를 사용하거나, 서버를 통해 데이터를 받을 때, 혹은 내부 DB에 쿼리를 날려 데이터를 받을 때 보면 데이터 처리하는게 좀 귀찮은 부분이 있다. JSON 데이터를 flutter에서 사용하기 위해서는 대부분의 언어가 그렇듯 일단 기본적으로 직렬화/파싱을 해줘야하는데, 플러터에서는 보통 데이터를 매핑할 수 있는 클래스를 별도로 만들어서 사용하게된다. 웹 개발을 주로 해와서 response를 받으면 바로 response.data로 개발을 해왔던 나로써는 왜 이런 작업을 거치지? 라는 의문이 들었는데, 실제 개발을 해보니 의문이 풀렸다. response 데이터 안에 title 이라는 정보가 있다고 하면 response["title"] 이런식으로 접근을 할 수 밖에 없는데 나중에 .. 2020. 8. 19.