본문 바로가기

플루터9

Flutter - AlertDialog 안에 ListView 넣기 그리고 오류 해결하기 Dialog는 앱개발을 하면서 가장 흔하게 자주 쓰이는 Widget 중에 하나다.그리고 Dialog안에 표시할 컨텐츠들도 무궁무진하다. 통상적인 알림정도라면 문제가 없지만 뭔가 콘텐츠를 표시해 주고 선택이나 입력을 받으려면 결국 ListView가 필요해진다.그렇다고 또 꼭 매번 모든 앱을 만들때마다 복잡한 구조의 Dialog를 띄울 일은 또 없기에... Dialog안에서 ListView를 사용할때마다 접하는 오류들에 대해서 trouble-shooting 했던 내용들을다음부터는 한번에 성공할 수 있도록 잘... 정리해 본다. 오류 1. ListView니까 Expanded로 감싸줘야 하겠지??Widget makeList() { return Expanded( child: ListView.buil.. 2024. 7. 9.
Flutter - 맥북 Xcode iOS Emulator 실행오류 해결하기 Flutter에 대해 열심히 공부하며 의미 있는 무언가를 만들어보려고 노력 중이다.최근 둘째가 이것저것 관심들을 보이면서 코딩에 대해서도 관심이 생기는 거 같다.물론... 순수한 코딩보다는 게임에 관심이 엄청 많아지면서 이어진 거라고 생각된다ㅎㅎ그래서인지 가끔 게임 만들 수 있냐고 물어보는데...아이는 그냥 하는 소리겠지만 이게 먼가 승부욕을 자극시키고 있기도 하다ㅋ머라도... 게임스러운 거를 하나 만들어서 보여주고 싶었다. 그렇게 의욕을 활활 불태우는 와중에 간단한 빙고게임 소스를 구하게 되어 한번 돌려보려고 했다.그런데 나는... 맥북을 사용 중이고... 고로... Apple 개발자환경을 세팅을 해야 실제로 휴대폰에 뭔가를 올려볼 수 있는 상황이었다 ㅠㅠ iOS Emulator 실행 안 되는 오류 발.. 2024. 6. 28.
Flutter 빌드에러 The binary version of its metadata is 1.8.0, expected version is 1.6.0. 해결방법 Flutter로 한참 뭔가를 개발해서 빌드를 열심히 하던 어느 날이었다.분명 어제까지는 아무런 에러가 없었는데, 어느 날 갑자기 빌드를 하면 version error가 발생했다.e: D:/Android/gradle/caches/transforms-3/889ce5bd12f1117e5357d5fcdb5e1305/transformed/core-1.10.1/jars/classes.jar!/META-INF/core_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0. 뭔가 라이브러리를 업데이트.. 2024. 6. 22.
Flutter - 빌드 오류 Debug Mode(Hot reload) D8: Cannot fit requested classes in a single dex file 해결 Flutter를 접하고 실제로 무언가 결과물을 만들어내는 과정에서 상당히 많은 부분에서 놀라운 경험을 하고 있다.물론 Native App만이 가진 조금 더 고급기능이거나 조금 더 빠른 퍼포먼스등은 당연히 처음부터 기대하지 않았다.그런데 생각보다 그런 점들조차 단점으로 느껴지지 않을 만큼 충분히 좋은 퍼포먼스가 있는 것 같다.그리고 왠만한 것들은 Package로 잘 만들어져 있다 보니 Native 로만 구현이 가능할 거라는 제약도 거의 못 느끼고 있다.물론 아직까지는 그렇다.그리고 Flutter에서 매우 놀라운 그리고 가장 훌륭하다고 생각되는 기능은 단연코 Hot reload 기능이다.이건 정말 개발 퍼포먼스를 엄청나게 끌어올려준다. 그렇게 열심히 무언가 내가 원하는 것들을 하나하나 만들어가던 중...fl.. 2024. 6. 13.
Flutter - Navigator Route 화면이동 Flutter를 이용해서 앱을 만들다 보면 결국 여러 개의 화면들을 잘 조합하고 처리를 해야 한다.이전의 Application 개발 경험이 Android이다보니 자꾸 Android 구조를 비교 혹은 이해하는 용도로 활용하게 되는데...Android에서는 Application 하위에 Acrivity들을 StartActivity를 이용해서 띄우고 이동하는 방식이었다면...Flutter에서는 Stack, Route이라는 개념을 사용하고 있었다. Stack은 말 그대로 쌓는다는 의미이고, Route는 뭔가 이동을 위한 것 같다.그리고 Navigator라는 클래스가 Route 이동을 컨트롤 해주는 역할을 담당한다. 이런 개념이 꽤 잘 정리된 글이 있어서 이해하는데 도움이 많이 됐다ㅎㅎhttps://medium.c.. 2024. 4. 25.
맥북 M2 플루터(Flutter) 설치하기, Cocoapods 설치 오류 해결하기 새로운 개발언어와 Framework에 도전하는 게 쉬운 건 아니면서도 동시에 상당히 신선한 즐거움을 주는 것 같다.Flutter라는 Hybrid Framework를 경험하고 실전에 사용한 지 얼마 되지 못해서 이것저것 여전히 모르는 것들..그리고 어색한 것들이 참 많지만 매 순간순간 놀라움과 즐거움도 동시에 느끼고 있다.무엇보다 상당히 나쁘지 않은 결과물을 정~말 빠르게 만들어낼 수 있는 게 무척 신기하다. 두 번째로 착수했던 Inventory Management 앱을 근 한 달여 만에 어느 정도 완성이 되고 실제 관계자들이나 주변 사람들에게 소개를 했다. 지금껏 너무 불편하게 일해왔던 상황을 들어봤기에 개인적인 희망이기도 하지만 많은 이들에게 도움이 되고 만족감을 줬으면 좋겠다. 그리고... 그럴 것 .. 2024. 3. 23.
Sublime Text 3 - Dart Syntax highlighting 설정하기, VIM 모드 키기 Flutter를 코딩할 때 IDE로 VS Code를 사용 중이다. 다만 기존 코드들을 참조하거나, 샘플 코드들을 열어볼 때는 가볍게 Sublime Text 를 주로 이용하고 있다. 그런데 Flutter의 공식 언어인 Dart를 Sublime Text에서는 아직까지 기본 설정상태에서 지원을 안 하는 것 같다;; 샘플코드를 받아서 열어봤더니 Syntax highlighting 없이 그냥... 하얀 글씨들만 나온다;; 그래서 Sublime에 Dart Syntax highlighting 을 볼 수 있도록 Package를 설치해 주기로 했다. 방법을 정리해 보면 Sublime Package Control 설치를 해주고 설치된 Package Control을 활용해서 Dart Package 를 설치해 주면 된다. .. 2024. 2. 27.
Flutter - Toast 팝업으로 메세지 띄우기 Flutter로 하이브리드 앱을 개발하면서 보니... 역시 간단한 Toast 팝업을 띄워야 할 일이 많이 생긴다. 그런데... Android처럼 공식지원하는 Toast 팝업 라이브러리는 없는 듯하다. 하지만 pub.dev에서 어렵지 않게 구할 수 있었다.(Flutter 최대 장점으로 꼽히는 부분이 이런 커뮤니티 활용법인 것 같다) fluttertoast | Flutter package Toast Library for Flutter, Easily create toast messages in single line of code pub.dev 사용법 사용하는 방법은 너무나도 간단하다. pubspec.yaml 파일안에 dependencies 영역에 아래 한 줄을 추가한 후 저장만 하면 된다. fluttertoa.. 2024. 2. 15.
새로운 앱개발 환경에 도전!! Flutter 설치하기 참 많이 변한 앱개발 오랜만에 Android Studio로 네이티브 안드로이드 앱을 개발해 보면서 나름 이전의 감각을 최대한 끌어올려보려고 노력했다. 물론 Manager 역할을 주로 하던 지난 몇년간 무수한 변화가 있었기에 모든 걸 다 따라잡기에는 어려웠지만 그래도 어느정도 '아 예전에 이렇게 했었었지~' 하는 느낌은 살릴 수 있었다. 아주 복잡한 기능을 요구하는 앱은 아니어서인지 좀 더 수월하게 이전의 기억들을 다시 되살리기에 딱 좋았다. 특히... Android에서 데이터 처리나 서버 통신등을 위해 주로 많이 사용하던 AsyncTask 가 Deprecated 된 건 조금 놀라웠다. 예전에 하던 습관대로...서버 통신을 해야 할 일이 생기다 보니 AsyncTask를 사용해서 구현을 했는데.... 이게 .. 2024. 2. 5.