본문 바로가기

프로그래밍/Flutter <Dart>21

[Flutter] 플러터 앱 성능 측정 및 평가, 성능을 개선하는 방법 with Android Studio 개요 안드로이드 스튜디오에서 플러터 어플리케이션 성능을 측정하고 평가, 성능을 개선하는 방법을 서술합니다. 안드로이드 스튜디오는 LadyBug 2024.02 버전을 기준으로 서술합니다. 저는 실 기기에서 프로파일 모드 실행했습니다. 참고하세요.  프로파일 모드로 앱 실행  안드로이드 스튜디오 > Run > Flutter Run 'main.dart' in Profile Mode 를 선택합니다.  또는 터미널에서 아래 명령어로도 실행 가능합니다. flutter run --profile DevTool 열기  프로파일 모드로 실행하면 안드로이드 스튜디오 우측에 Performance 탭이 활성화 되면서 아래와 같은 화면이 나타납니다. 하단 Open Devtool 을 클릭하여 좀 더 자세히 보겠습니다.  DevTo.. 2024. 11. 11.
[Flutter] Android Studio LadyBug Unsupported class file major version 65 빌드 에러 해결 개요 안드로이드 스튜디오 LadyBug 버전이 나와 업데이트했습니다. 업데이트 한 후 빌드에 문제 없었던 플러터 프로젝트 빌드 에러가 발생했는데요, 이 문제를 해결해 보겠습니다. 주의 이 글에서 소개하는 해결 방법이 항상 통하는 것은 아닙니다. 제가 다른 문제가 발생할 때 참조하기 위해 작성한 메모성 글입니다. 각 행동에 대한 충분한 근거를 서술하지 않습니다. 각 개발 환경이 모두 다르기 때문입니다. 사용하는 NDK 버전, 플러그인 버전, Dart SDK, Flutter SDK 버전들을 고려하여 적용해보시길 바랍니다. FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':gradle:compileGroov.. 2024. 11. 10.
[Flutter] flutter_native_splash 사용하여 Splash Screen 구현하기 설치 플러그인을 설치합니다.flutter pub add flutter_native_splash pubspec.yaml 에 옵션 추가아래와 같이 pubspec.yaml 파일에 옵션을 추가하세요. 모든 옵션은 여기서 확인해 주세요. 주의 안드로이드 12 이상 운영체제를 탑재한 기기는 이미지가 클립화 되어 이상하게 출력될 수 있습니다. 이미지 크기를 조정해 주세요.flutter_native_splash: color: "#ffffff" image: image/logo.png android: true android_12: image: image/logo.png ios: true 적용 아래 명령어를 통해 splash screen 옵션을 적용해 주세요. 옵션이 바뀔 때마다 적용이 필요합니다. dart .. 2024. 10. 6.
[Flutter] Futurebuilder Future ListView 템플릿 개요 FutureBuilder Future 객체를 활용 코드 템플릿입니다.  코드 * Future 객체 생성 객체를 초기화 해줍니다.Future fruitListFuture = Future.value([]); * 객체에 담을 데이터 Fetching 함수 작성 아래와 같은 형태로 데이터 패칭을 담당할 함수를 작성합니다.  // 유저의 리뷰 목록을 가져오는 함수 Future getFruit() async { // 여기에 각 상황에 적합한 fetch 함수 추가 if (response['code'] == 200) { return response['data']['list']; } return []; } * FutureBuilder 작성 return FutureBuilder( .. 2024. 9. 28.
[Flutter] Deprecated imperative apply of Flutter's Gradle plugins 개요 Flutter의 Android 앱 빌드 방식이 3.16 버전부터 변경되었습니다. 플러그인을 가져오는 Gradle 의 명령형 방식이 바뀌었습니다. 추후 Deprecated될 예정이므로 코드를 수정하겠습니다.  android/build.gradle 수정 원본 파일에서 ext.kotlin_version 이 1.7.10 이고 com.android.tools.build:gradle이 7.3.0 임을 명심하세요. 각 프로젝트마다 다를 수 있습니다.  buildscript { ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { classpath 'com.. 2024. 9. 25.
[Flutter] Futurebuilder Future 객체 리로드 중일 때의 상태 표현하기 개요 주의 일부 올바르지 않은 내용이 있을 수 있습니다. 최신 플러터 버전을 참고하세요.FutureBuilder Future 객체의 상태를 snapshot 속성을 통해 감지할 수 있습니다. (예: snapshot.hasData 등)첫 Future 객체가 성공적으로 불러온 후에 다시 Future 객체 정보를 불러들이는 경우 (새로고침 또는 불러올 정보가 바뀔 때) 새 Future 객체의 데이터를 가져오고 있는 중에 다시 로딩중임을 출력할 필요가 있습니다. isLoading 과 같은 형태로 관련 속성이 당연히 지원되리라 생각했지만, 그렇지 않습니다. 관련 속성이 없습니다.  솔루션 * Future 객체에 null 저장 setState 를 사용하여 Future 객체에 null을 저장하도록 합니다. Future.. 2024. 9. 22.