[플러터] initState, dispose를 불러오지 않는 경우
·
Flutter/Flutter Issue
이슈 플러터에서 동일한 위젯(클래스) 2개 이상을 다른 속성 값으로 정의하고 위젯들을 순서대로 호출하여 화면에 출력하는 경우, 2번째부터 위젯이 갱신이 되지 않는 경우가 발생하곤 한다. 이를 디버깅 해보면 2번째 부터 위젯에서 initState와 dispose를 호출하지 않는다. 즉, 위젯을 랜더링 하지 않는다는 것이다. 해결을 위한 과정 해외 포럼에서는 해당 이슈가 widget dispose not called라고 되어있는데 답을 보면 navigator.pop()과 같이 navigator을 사용하여 위젯을 전환하는 경우에는 이러한 이슈가 발생하지 않는다고 되어있다. 하지만 나는 아래의 코드와 같이 navigator를 사용하는 것이 아니었기에 근본적인 해결책이 될 순 없었다. List list = [ C..
[플러터] 이미지를 cache 저장소에 저장하기
·
Flutter/Flutter Tech
스마트폰을 사용하다보면 앱의 저장공간에 캐시라는 공간이 별도로 존재하는 것을 보았을 것이다. cache(캐시)라고 불리는 것에는 cache 저장소와 cache memory 2가지가 있다. cache란 데이터를 빠르게 불러오기 위해 할당된 공간이라고 생각하면 된다. 오늘은 이미지를 cache 저장소에 저장하는 방법을 알아본다. cache memory에 이미지를 올려두는 방법은 다음 글에서 포스팅하겠다. Cache 저장소 서버와 같이 네트워크에 존재하는 이미지를 Image.network()로 호출한다면 매번 서버에 접속해야한다. 하지만 서버와의 통신시간은 짧지 않아 로딩이 발생하고 그에 따른 비용도 발생한다. 그래서 일반적으로 서버에 접속해서 이미지를 최초 1회만 호출을 하고 이후에는 사용자 기기(로컬)의 ..
[플러터] 플러터 웹에 대한 Q&A 모음
·
Flutter/Flutter Web
Flutter web에 관한 관심은 많지만 그에 대한 정보가 많이 보이지않아 간단히 작성해보았다. 플러터로 웹 개발을 할 수 있나요? 본론만 말하면 그렇다. 미심적은 부분이 있긴해도 웹을 플러터로 개발이 가능하다. 웹 개발을 배우려고 합니다. 플러터를 배워도 괜찮을까요? 아니요. 플러터는 당장은 앱 개발만을 위한 프레임워크라고 생각해야한다. 개발한 앱을 웹 브라우저에서 돌려볼 수 있다는 정도로 생각해야하며, 웹 개발과 앱 개발을 동시에 원한다면 리액트를 배우는 것을 추천한다. 다만, 리액트와 플러터를 함께 사용하는 현직자분들 중에는 앱 개발은 플러터가 훨씬 편리하다는 의견이 많았다. 플러터 웹은 어떤 점이 문제인가요? 퍼포먼스의 부족 https://gallery.flutter.dev/#/ 링크는 구글이 ..
[플러터] 위젯의 크기&위치를 반환받는 법
·
Flutter/Flutter Tech
플러터에서 특정 위젯의 크기와 위치를 반환 받는 방법은 아래와 같다. 코드 //GlobalKey를 선언한다. GlobalKey _viewKey = GlobalKey(); void initState(){ //Build가 실행되어 위젯이 그려진 후 해당 함수가 실행된다. WidgetsBinding.instance.addPostFrameCallback((timeStamp) { _getSize(); }); } _getSize(){ //위젯 key로 RenderBox를 정의한다. RenderBox _viewBox = _viewKey.currentContext.findRenderObject(); Offset offset = _viewBox.localToGlobal(Offset.zero); //위젯의 좌표를 반환받는..
[플러터] Font 변경하는 방법
·
Flutter/Flutter Widget Design
플러터에서 글꼴, 폰트를 변경하는 방법이다. 프로젝트 설정 1. 먼저 사용할 폰트를 프로젝트내에 넣어준다. 일반적으로 assets/font/ 폴더 내에 넣는다. 2. pubspec.yaml의 최하단에 보이는 fonts:에 아래의 예시처럼 작성한다. fonts: - family: Yanolja fonts: - asset: assets/font/yanolja_Bold.otf weight: 700 - asset: assets/font/yanolja_Regular.otf - family: Jalnan fonts: - asset: assets/font/JalnanOTF.otf style: italic 예시 코드에서 사용하고자 하는 폰트는 Yanolja체와 Jalnan체이다. family가 코딩 시 사용할 폰트의 ..