[플러터] 플러터로 앱 제작시 같은 자리에 오는 위젯을 조건에 따라 달리 표시하는 방법

Posted on

플러터의 장점은 UI 배치가 매우 쉬운 배려가 되어 있는 언어라는 점입니다. 위젯 형태로 제공되는 기본 UI 구성 요소가 많이 제공되고, 각각의 위젯 내부에 배치할 수 있는 속성에 위젯 클래스를 배치하기만 하면 UI 구성이 잘 됩니다. 이 장점으로 인해 저도 아주 훌륭한 혜택을 받고 있습니다. 다트와 플러터에서 제공되는 제작사가 만든 UI 위젯뿐아니라, 사용자 생태계에서 제공되는 패키지도 …

플러터와 macOS로 iOS 앱 빌드하기에 따른 사양 문제

Posted on

제가 쓰는 맥 머신은 맥 미니 M2 8GB 256GB SSD 깡통 제품입니다. 플러터로 앱 개발을 할때 iOS 앱 빌드는 맥 머신에서만 되는 체제라 구했는데 다들 램 크기에 대한 갑론을박을 하네요. 일단 램이 크면 빌드시 큰 규모의 빌드에 강합니다. 맥 미니는 macOS Ventura 부팅시 첫부팅에는 4GB 이하의 램이 남는데, 이를 생각하면 램을 크게 커스텀해서 주문하는게 좋다고 …

[안드로이드] 안드로이드 앱 용량 줄이기

Posted on

본래 28MB 정도 크기로 설치되던 앱이 모종의 이유로 159MB까지 늘어났습니다. 그 이유는 의존성 라이브러리의 비대화, 리소스 파일이 너무 큰 경우 등등의 원인이 있습니다. 이를 해결할때 참조할만한 방법을 소개합니다. 우선 플러터로 안드로이드 스튜디오에서 작업할때를 기준으로 소개합니다. Project 패널에서 아래 파일을 엽니다. Project→android→app→build.gradle 그리고 아래 라인을 입력합니다. 우선 defaultConfig 블락 안에 이 라인을 추가하면 현재 시장에서 널리 …

[플러터] 안드로이드 앱 실행시 런처 아이콘 표시 화면 안띄우기

Posted on

플러터로 안드로이드 앱을 만들때 런처 아이콘이 화면에 표시되고 그 다음 메인 화면으로 넘어갑니다. 이 경우 스플래시 화면을 XML 독립적으로 만들었다면 시각적으로 방해가 됩니다. 예를 들면 main.dart에서 splash_screen.dart의 SplashScreen 클래스를 호출해서 스플래시를 표시하는 체제일때, 안드로이드에서 실행시 런처 아이콘이 SplashScreen 클래스보다 우선 표시되어 시각적인 방해가 되죠. 이 경우 안드로이드에서 실행한다면 해당 플러터 프로젝트에서 생성된 android 디렉토리로 가서 …

M2 맥 미니 신청해두었습니다

Posted on

플러터로 멀티플랫폼 모바일 앱 개발을 하는데 iOS용 빌드는 맥에서만 가능합니다. 본래 가격이 좀 쎈 편인 기기들이라 안드로이드 앱을 우선 출시하고 돈벌어 구하려다가 비용 사정이 나아져서 맥 미니 M2 버전을 신청해두었네요. 8GB 모델이고 M2도 8코어 CPU에 10코어 GPU 라는데 우선 플러터 개발을 위한 머신으로 신청했고, 어느 정도 성능이 나온다면 캡처 장치를 연결할 목적으로도 쓰고 싶은데요. 선더볼트 …

[플러터] GlobalKey를 설정하는 방법

Posted on

GlobalKey를 설정하면 State를 설정한 클래스의 함수를 다른 위계 구조의 클래스에서 불러와서 사용할 수 있습니다. 최소구조로 소개된 소스코드 ( https://coens.tistory.com/5 ) 를 보면 아래와 용법이 같습니다. 주목해야 하는 지점은 MyKey 클래스에서 선언한 final counterKey = GlobalKey<_CounterState>(); 값을 Center() 위젯의 child: 속성으로 준 Counter() 생성자의 key: 속성에 인자로 주었다는 것입니다. 이렇게 StatefulWidget을 생성자로 호출하면 해당 State가 트리에 …

[플러터] 플러터로 markdown 문서에 로컬 이미지를 불러오는 방법

Posted on

플러터로 텍스트 데이터를 저장하고 불러오는 방법으로 markdown 문서를 이용하고 있습니다. markdown 문서는 텍스트 파일의 일종으로 마크업과 호환되는 것을 기능으로 한 문서인데요. 고유의 형식을 가지고 있고 개발자가 프로그램에 대한 해설을 하는 용도로 쓰입니다. 프로젝트에 포함시켜 작성하는데, 깃헙에서 프로젝트 해설을 할때도 쓰입니다. 저는 이 문서 형식을 써서 앱에서 실어 보여줄 글을 저장해서 불러오게 하는데요. 글 중간에 특정 …

[플러터] flutter_markdown 으로 읽어온 md 파일 처리시 단락 사이 길이 제어하는 방법

Posted on

flutter_markdown 으로 md 파일을 읽어들여 기본값으로 표시하면 단락 사이 길이가 너무 짧아서 시선에 긴장감이 있습니다. 단락 사이 길이를 조정하려면 MarkdownStyleSheet 을 사용해서 pPadding 속성을 바꾸면 됩니다. Markdown 객체를 return할때 stylesheet 지정을 할 수 있습니다. https://pub.dev/documentation/flutter_markdown/latest/flutter_markdown/MarkdownStyleSheet-class.html 이 문서에 지정할 수 있는 스타일시트 항목 목록이 나옵니다. pPadding 속성은 EdgeInsets 클래스를 써서 지정할 수 있습니다. https://www.fluttercampus.com/guide/144/how-to-add-padding-margin-on-text-widget-in-flutter/ 이 문서에 …

1 2 3