
에뮬레이터Android안드로이드에선 localhost(127.0.0.1)시 기기 자체를 의미합니다.안드로이드는 호스트 머신과 독립적인 네트워크 환경을 사용합니다.내 PC의 호스트를 연결하려면 10.0.2.2를 사용해야합니다.iOSiOS에선 localhost(127.0.0.1)시 로컬 호스트를 의미합니다.iOS는 호스트 머신과 같은 네트환경을 공유합니다.localhost(127.0.0.1)을 사용해 연결할 수 있습니다. 실제 기기 연결실제 기기인 경우 Android와 iOS 모두 localhost(127.0.0.1) 사용 시 기기 자체를 의미하게됩니다.Android의 경우 10.0.2.2를 사용해도 연결되지 않습니다.iOS의 경우 localhost(127.0.0.1)을 사용해도 연결되지 않습니다.호스트 머..

injectable | Dart packageInjectable is a convenient code generator for get_it. Inspired by Angular DI, Guice DI and inject.dart.pub.dev DI(Dependency Injection) 패키지인 get_it 의 짝궁인 injectable 패캐지를 소개합니다.IoC(Inversion of Control)의 이점이 있는 get_it을 더 편리하게 사용할 수 있습니다.그렇기에 필수적으로 get_it 패키지와 함께 사용해야합니다. Annotation을 사용하기에 백엔드 프레임워크인 Spring을 해보신 분들이라면 익숙하길꺼라 생각듭니다. 사용하기pubspec.yaml에 get_it과 injectable 관련 패..

Flutter 3.13 으로 upgrade한 후로 뒤로가기를 감지하는 역할을 하던 WillPopScope 위젯이 작동을 안하네??? 혹시나 3.13의 Release Note를 확인해 보니 이런 내용이 추가됐습니다.Android 14에는 사용자가 유효한 뒤로 동작 중에 현재 경로 뒤를 엿보고 뒤로 계속할지 아니면 동작을 취소할지 결정할 수 있는 뒤로 예측 기능이 도입되었습니다. 이는 개발자가 뒤로 동작을 수신한 후 취소할 수 있도록 하는 Flutter의 탐색 API와 호환되지 않았습니다.예측 뒤로를 사용하면 사용자가 동작을 시작할 때와 동작이 커밋되기 전에 뒤로 애니메이션이 즉시 시작됩니다. Flutter 앱에서는 해당 상황이 발생하도록 허용할지 여부를 결정할 기회가 없습니다. 미리 알려야 합니다.이러한 ..

Flutter에서 지원하는 OS는 위 표와 같습니다. 이 중 눈에 띄는 건 Windows, Linux, iOS가 32bit를 지원하지 않는다는 점입니다. 대다수의 사용자가 64bit를 사용하지만, 아직 해외나 국내 사무용 PC로 32bit OS를 사용하는 경우도 있습니다. Windows 10의 경우도 32bit가 존재합니다. 그 이후 버전(Windows 11)부터 64bit OS만을 지원합니다. (차후 OS에도 32bit를 지원하지 않을지는 미지수입니다.) Android Android의 경우 Flutter에서 기본적으로 x86을 지원하지 않습니다. (x86-64와는 다릅니다.) Google애서 두 차례 64bit 관련 정책이 변경되었습니다. 2019.08.01 All new apps and app upd..

Freezed 혹은 Json serializable 그 외 annotation을 활용하여 코드 생성하는 경우 특정 함수 혹은 키워드를 사용할 경우 invalid_annotation_target 경고가 나타납니다.대표적으로 json_annotation의 @JsonKey()에서 발생합니다. 프로젝트 전체에 적용하기analysis_options.yaml 파일에 아래 내용을 추가합니다. Referencehttps://github.com/rrousselGit/freezed/issues/488

어떤 패키지인가?Flutter에서 기본적으로 Material Design의 아이콘을 사용합니다. 하지만 Material Icons에 찾는 아이콘이 없거나 더 다양한 형태의 아이콘을 필요로할 한 경우가 있습니다. 그럴 때 Fontawesome에서 제공하는 아이콘을 사용하는 것을 추천합니다. 현재 날짜 기준(23.06.01) 무료로 제공되는 아이콘은 2,020개이며 유료 아이콘 또한 구매 시 사용할 수 있는 장점이 있습니다. 사용법FontAwesomeIcons의 아이콘 사용시 FaIcon 위젯을 사용해야합니다. (Icon 위젯은 모든 아이콘이 정사각형으로 인식하지만 많은 FontAwesomeIcons의 아이콘은 그렇지 않습니다.) https://pub.dev/packages/font_awesome_..

Launcher icon 이란?Android에서의 APP 아이콘을 의미한다. APP의 정체성을 가장 쉽게 노출한다.Flutter를 초창기(Null Safe도 지원하기 전)부터 개발해왔던 나로서 이런 패키지가 생산성을 크게 증가시킨다는 것을 느낍니다.이전엔 Android, iOS의 APP 아이콘을 각각 따로 설정해줬었지만 간단하게 패키지를 사용해 플랫폼 별 아이콘 세팅을 해줄 수 있습니다. 사용법App Icon에 관한 설정을 pubspec.yaml에서 설정하는 법과 따로 파일을 분리해 만드는 법 2가지가 있습니다.pubspec.yaml 에서 설정 Terminal에서 명령어 입력flutter pub get flutter pub run flutter_launcher_icons 파일을 분리해 설정파일 생성 시 ..

MarkDown 이란?Markdown은 일반 텍스트 문서에 서식 요소를 추가하는 데 사용할 수 있는 경량 마크업 언어입니다. 2004년 John Gruber가 만든 Markdown은 현재 세계에서 가장 인기 있는 마크업 언어 중 하나입니다.GitHub에서 사용되는 README.md 파일이 MarkDown으로 작성되었습니다.MarkDown의 파일 확장자 명은 .md 혹은 .markdown을 사용합니다. MakDown에 대한 더 자세한 내용은 MarkDown Guide를 참고바랍니다. 사용법child (단일)에 배치하는 경우MarkDownWidget 을 사용Container, SizedBox 등 같은 child (단일)항목에 배치하는 경우에 사용 children (다중)에 배치하는 경우MarkdownGene..

아직 Flutter는 공식 OpenAI 패키지가 없다고?현재 기준 (23.05.22) 아직 Dart/Flutter에서 공식적으로 지원하는 OpenAI 패키지는 존재하지 않습니다. 이전 포스팅한 chat_gpt_sdk 또한 공식 패키지가 아닙니다. 비공식적이지만 OpenAI 홈페이지에서 dart_openai 패키지를 추천하고있으므로 언제가될진 모르지만 공식 패키지가 지원되기 전까지 해당 패키지를 사용하는 것을 추천합니다. 사용법API 인증키 dart_openai 패키지 설명에는 환경변수 설정을 envied 패키지를 사용하였지만 해당 패키지는 배포된지 얼마 되지않았을 뿐더러 Major버전이 0이므로 이전 포스팅한 flutter_dotenv 패키지를 사용하는 것을 추천합니다. ( flutter_dotenv ..

env를 사용하는 이유개발(테스트, 스테이징 등) 중에 프로덕션 환경 설정git 오픈소스에 올리면 안되는 보안 상 문제가 될 수 있는 값 (예. API 키, DB 정보 등)을 따로 분리할 경우 사용법Root 경로에 .env 파일을 생성한다..env 파일에 환경 변수를 지정한다. pubspec.yaml 파일에 assets에 .env파일을 추가한다. 병합env 파일에서 병합.env 파일에 지정된 환경변수의 값을 병합해 사용할 수 있다.$를 사용하여 환경변수의 값을 가져온다.$의 문자를 포함할 경우 환경변수의 값을 ''로 지정한다. 소스 상에서 병합load 함수의 mergeWith 에서 병합할 환경변수의 Key, Value 값을 지정한다. Null Safe환경변수의 Key 값이 없는 경우 Assertio..