플러터(17)
-
픽셀 오버플로우
반복문을 통해 컨테이너를 복사하던 도중 이상한 이미지가 잡혀서 찾아보니 픽셀 오버플로우라는 오류라는듯 하다 픽셀 오버플로우는 간단하게 위젯의 크기에 맞지 않는 이미지가 있는 경우 생기는 것으로 크기만 맞춰주면 해결이 된다고 한다 해결책으로는 1.위젯의 크기 조절하여 부모에 맞추기 2.스크롤 위젯을 사용하기 (SingleChildScrollView) 3.Image.asset을 사용하여 이미지 크기를 최적화 3가지 정도로 본다 이중 스크롤이 무난하게 좋다고 보여서 이번 문제는 스크롤로 해결했다
2023.10.12 -
Future 등 비동기에 대하여
보고있는 강의에서 API 사용 시 구조체에 Future처리를 계속 하려고하는데 생각해보니 해당 함수는 무슨 기능을 하는지 확인해보았다 우선 동기와 비동기에 대해 설명하겠다 동기 : 동작을 차례대로 완료 후 수행하는 것 ex) A실행 -> A완료 -> B실행 -> B완료 비동기 : 동작이 완료되지 않아도 다음 동작을 수행하는 것 ex)A실행 -> B실행 -> A완료 -> B완료 Future는 비동기 처리를 위해 지금은 없지만 미래에 데이터가 담길 그릇 이라고 표현한다 즉 미래에 담길 값을 넣어둘 것이라고 컴퓨터에게 인식시키는 것으로 보인다 async / await의 경우 자바에서도 자주 본 비동기 함수로 플러터에서 사용할 경우에도 형식은 거의 흡사하다 Future functionName() async { ..
2023.10.12 -
플러터의 생명주기
initState를 보고 실행할 경우 처음 한번 타는 것은 단어만 봐도 예측이 가능하다 폼디에서도 사용한 라이프 사이클의 init도 동일하기 떄문이다 다만 다른 상태는 어떠한 것이 있는지 정확히 모르는 나이기 때문에 생명주기에 대해 찾아보았다 createState() mounted == true initState() didChangeDependencies() build() didUpdateWidget() setState() deactivate() dispose() mounted == false 위의 단계가 플러터의 라이프 사이클이라고 한다 몇몇개는 언뜻 봐도 추측이 가능하다 몇몇 주기는 추측이 어려워서 찾아보았다 createState() : stateful 위젯을 만드는 주기로 state의 인스턴스 반환..
2023.10.10 -
Future를 구조체에서 사용하는 방법
Future를 구조체에서 사용하기 위해서는 stateful에서 사용이 가능하기에 바꿔야한다 이후 바꾸게되면 widget.이 앞에 붙게되는데 이로 인해 사용이 가능하게 된다 다만 바로 확인해보면 빨간줄이 나오게 되는데 이 원인은 간단하게 확인이 가능하다 구조체에서 사용시에는 값이 없기 때문에 생기는 에러이기 때문에 late를 붙여주어 선언, initState 함수 내에 값을 넣어주는 것으로 해결이 가능하다 late Future episodes; @override void initState() { // TODO: implement initState super.initState(); // 구조체 형태에서는 widget사용이 불가능하여 late를 이용하여 추후에 추가하도록 요청 // init할 경우 데이터를 가..
2023.10.10 -
Image.network - loadingBuilder, errorBuilder
loadingBuilder : 이미지 로딩 중 CircularProgressIndicator ->해당 위젯을 이용하여 대기중임을 알리는 용도로 사용 errorBuilder : 이미지 안나올 경우 -> noImage 받아서 Image.asset('')를 활용하여 이미지 세팅
2023.10.05