목록Flutter (17)
민스씨의 일취일장
Flutter 개발하면서 공부한 ThemeData를 정리한 글이다.Flutter - ThemeDataThemeData를 알아보게 된 동기Flutter로 급한 마음에 앱을 만들게 되면, themeData 설정은 최소화로 하고 만드는 위젯에서 하나하나 빠르게 세팅하게 된다. 이렇게 하면 일단 당장 원하는 스타일의 위젯을 만들 수 있어 '급하게' 만들땐 속이 편하다. 그런데 조금만 더 디테일한 설정을 하겠다고 하면 이런 작업이 얼마나 많은 일을 만드는지 알 수 있다.Light & Dart 모드 변환가장 직관적인 상황은 Light, Dark 모드 전환이다. 요즘은 안드로이드와 iOS 모두 다크모드를 제공한다. 따라서 앱을 만들면 이 기능을 제공하고 싶은 욕심이 난다. 하지만 단순히 지원했다간 기존의 엘레멘트들 ..
VoidCallback과 Function에 대해 비교하는 글이다.VoidCallback vs. FunctionVoidCallBack vs. Function위젯을 만들 때, 상위 위젯에서 메서드를 전달해 주는 경우가 있다. 그런데 어떤 경우에는 VoidCallback 타입의 메서드를, 또 어떤 경우에는 Function 타입의 메서드를 전달하는 경우가 있다. 이 둘이 어떤 차이가 있는지 한 번 알아보았다.VoidCallbacktypedef VoidCallback = void Funcation(); VoidCallback은 아무 인자도 받지 않고, 아무것도 반환하지 않는 함수 타입이다. 주로 Flutter 프레임워크에서 onPressed, onTap등에 사용된다.장점타입이 명확하기 때문에 IDE와 컴파일러가 ..
onPressed에 지정된 메서드가 무한 호출되는 이슈에 대한 원인 분석과 해결책에 대한 글이다.Flutter - onPressed 메서드 무한 호출 이슈현상TextButton의 onPressed 속성에 상태값에 따라 호출되는 메서드를 다르게 구성해 놓았는데, 실행시 해당 메서드가 무한으로 호출되는 이슈가 발생하였다.원인 1 - 빌드 과정에서 실행됨TextButton( onPressed: widget.isDetailOn ? widget.onTapDeatilShow() : widget.onTapSummaryShow(), ...)TextButton이 빌드 되는 과정에서 위의 삼항연산자를 평가하기 위해 코드를 실행하게 된다. 따라서 빌드 과정에서 widget.onTapDetailShow(..
WebSocket 통신을 위한 간단한 Flutter UI를 구성해 보았다.WebSocket - Flutter 프론트 구성하기1. Flutter 프로젝트 생성기본 프로젝트에 추가해 줄 의존성은 하나이다.web_socket_channelflutter pub add web_socket_channel2. UI 구성간단하게 버튼을 누르면 숫자를 서버로 보내서, 메시지를 받도록 구성해 보았다. 메시지를 받으면 숫자를 1씩 늘려줘 몇번 통신을 주고 받았는지 표시하였다.final WebSocketChannel channel = WebSocketChannel.connect(Uri.parse('ws://localhost:8080/ws'));var cnt = 1;@overrideWidget build(BuildCo..
shared_preference 사용방법에 대한 글이다.Flutter - shared_preference 사용 방법shared_preferences란?shared_preferences는 Android와 iOS의 네이티브 저장소를 사용하기 위해 사용하는 플러그인이다. 네이티브 저장소를 사용할 때, Android는 SharedPreferences API를, iOS는 NSUserDefaults를 사용한다. Flutter에서 shared_preferences는 이 둘을 감싸고 있어 하나의 코드로 함께 다룰 수 있도록 도와준다.사용방법1️⃣ 패키지 설치하기pubspec.yaml에 패키지를 추가해준다.dependencies: shared_preferences: latest_version추가(설치) 후 flutte..
Flutter로 만든 안드로이드 앱 배포 준비 과정 글이다.Flutter로 만든 안드로이드 앱 배포 준비 과정버전 관리가장 먼저 해야 할 일은, 버전을 관리하는 것이다. 하나의 애플리케이션의 버전은 유일해야 하기 때문에 변경 수준에 맞게 버전을 관리해 줘야 한다. 버전 관리는 pubspec.yaml 파일의 version 속성값 관리를 뜻한다.version : major.minor.patch+versionex)version : 1.1.1+15여기서 1.1.1을 버전 이름(version name)이라 하며, 15를 빌드 넘버(build number)라 부르는데, 안드로이드는 버전 코드(version code) iOS에서는 프로젝트 버전(project version)이라고 부르기도 한다.버전 관리 예시1.0...
