Flutter

Flutter 앱 개발에서 ‘상태’란 무엇을 의미하나요?Flutter에서 위젯의 현재 테이터나 UI의 상태를 의미합니다.ListView, ListView.builder, SingleChildScrollView + Column 3가지의 차이점은 무엇인가요?ListView는 스크롤 가능한 리스트를 생성하며, 미리 지정된 자식 위젯을 children 속성을 통해서 한번에 모두 생성합니다.ListView.builder는 ListView와 다르게 화면에 보여지는 속성만 생성하고 itemCount와 itemBuilder로 조절 합니다.SinglechildScrollView+Column은 단일 위젯만을 스크롤 가능하게 바꿔주는 역할을 합니다. 그렇게 때문에 ListView와 동일하게 자식 위젯을 한번에 모두 메모리에..

앱을 만들다 보면 다양한 정보를 저장해야 하는 상황이 생깁니다. 보안, 사용성, 속도 등에 따라 상황에 맞는 방법을 선택해야 합니다. 오늘은 로컬에 저장되고 방법이 매우 간단한 shared_preferences 패키지를 이용하는 방법에 대해서 알아보겠습니다. 1. SharedPreferences란?SharedPreferences는 안드로이드와 iOS에서 간단한 데이터를 로컬에 저장할 수 있는 방법입니다. 이 저장소는 앱이 종료되거나 재시작을 하더라고 휘발되지 않고 남아있어 다양한 곳에서 사용하기에 적합합니다. 2. SharedPreferences 사용법1. 패키지 설치터미널에서 명령어로 설치를 하던가flutter pub add shared_preferencespubspec.yaml에 직접 추가한 후에 ..


앱을 개발하다 보면 기본 폰트 이외에서 다른 폰트를 사용하고 싶을 수가 있습니다. 특히 앱의 디자인을 이쁘게 바꾸기 위해서 테마에 맞는 폰트를 사용하는 것이 중요합니다. 오늘은 폰트를 적용하는 방법에 대해서 알아보겠습니다. 1. 폰트 정하기 가장 먼저 사용할 폰트를 찾아야 합니다. 이번에 사용할 폰트는 Pretedndard입니다. 폰트를 정했다면 폰트 파일을 준비해야 합니다. 폰트 파일은 TTF 또는 OTF 형식이 여야 합니다. Pretendard는 무료 폰트라서 쉽게 찾을 수 있습니다. 그리고 이뻐서 사용하기 좋습니다.저는 아래의 사이트를 이용했습니다.https://noonnu.cc/font_page/694 눈누프리텐다드 - 길형진 (orioncactus)noonnu.cc 2. 파일 적용하기TTF 또..

음악앱을 만들때 가사로도 검색을 하고 싶어서 찾아보는데 이전에 사용한 Maniadb에서는 가사로 검색은 지원하지 않았다. 그래서 노래 가사 검색 api를 찾아보는데 다른 곳은 유료거나 특수한 조건을 만족해야 사용할 수 있었다. 그런데 아래의 블로그에서는 네이버 가사 검색 기능을 이용해서 가사검색 기능을 만들었다.https://cheongpark.tistory.com/2 네이버의 가사 검색 API 가져오기주의 전문적인 지식이 없이 진행하기 때문에 이 내용은 확실하지 않을 수 있습니다!네이버엔 가사를 입력해 음악을 찾을 수 있는 서비스가 있다. 일단 왜 이것을 하게 되었는지 부터...저번에cheongpark.tistory.comnaver에서 정식으로 제공하는 api가 아닌 검색사이트에서 받는 데이터 구조를..

음악 정보를 가져오는 api를 찾던중에 maniadb라는 곳을 발견했다. 여기서 음악의 정보를 가져오려고 보는데 JSON이 아니라 XML로 API 통신으로 하고 있었다. 하지만 원하는 정보를 제공하는 API 중에서 사용에 큰 제약이 없어서 ManiaDB를 사용하기로 결정했다.XML우선 XML이 무엇인지 알아야한다. XML은 eXtensible Markup Language의 약자로 데이터를 정의하는 규칙을 제공하는 마크업 언어로, 태그를 사용하여 데이터 속성과 실제 데이터를 구분합니다. John Doe María García Nikki Wolf 구조 예시를 보시면 HTML과 유사한 것을 볼 수 있는데 개발한 회사에서 직렬화를 위해서 만든 도구이기 때문입니다. 그러면 XM..


오늘은 Flutter의 StatefulWidget 생명주기에 대해 자세히 알아보겠습니다. Flutter에서 위젯의 생명주기를 잘 이해하는 것은 매우 중요합니다. 1. StatefulWidget의 정의StatefulWidget은 상태를 가질 수 있는 위젯으로, 사용자의 상호작용에 따라 UI가 변화하는 경우에 사용됩니다. 예를 들어, 버튼을 클릭하면 텍스트가 변경되거나 이미지가 바뀌는 경우가 이에 해당합니다.StatefulWidget과 반대되는 StatelessWidget은 상태가 없으며, UI가 변하지 않는 경우에 사용됩니다. 이는 변하지 않는 텍스트나 단순한 레이아웃을 표시할 때 유용합니다. 하지만 상태변화가 있을경우에는 StatefulWidget을 사용해야하므로 잘 알아두어야합니다. 2. State..

Flutter에서 상태관리는 상태변화를 감지해서 UI를 업데이트하고 데이터를 동기화하는 등 많은 부분을 관리하는데 필수적입니다. 상태관리를 하는데 여러가지 방법이 있는데, 오늘은 많이 사용되는 setState, Provider, RiverPod에 대해서 알아보겠습니다. 1. setStatesetState는 Flutter에서 기본으로 제공하는 상태 관리 방법으로 StateFulWidget을 통해 사용할 수 있습니다. import 'package:flutter/material.dart';class CounterApp extends StatefulWidget { @override _CounterAppState createState() => _CounterAppState();}class _CounterAp..


클린 아키텍쳐는 소프트웨어 개발에서 매우 중요한 개념입니다. 이 아키텍쳐는 코드의 유지보수성과 확장성을 높이기 위해 계층을 분리하는 데 중점을 두고 있습니다. 클린 아키텍쳐를 이해하기 위해서는 그 기본 개념과 필요성을 먼저 알아보는 것이 중요합니다. 클린 아키텍처의 정의 클린 아키텍쳐는 로버트 C. 마틴(Robert C. Martin)이라는 소프트웨어 엔지니어가 제안한 아키텍쳐 패턴입니다. 이 아키텍쳐는 소프트웨어의 각 구성 요소를 명확하게 분리하여, 서로의 의존성을 최소화하고, 변경이 용이하도록 설계되었습니다. 클린 아키텍쳐는 일반적으로 여러 개의 계층으로 구성되며, 각 계층은 특정한 역할을 수행합니다.주요 구성 요소Entities엔티티는 비즈니스의 핵심 개념을 나타내는 객체예) User, Produ..

1. env 파일 사용처음에는 launch.json파일을 만들고 .env파일 경로를 설정해서 api_key를 관리하려고 했었다. 그런데 어떤 과정에서 문제가 있었는데 json파일로 하는 방식이 작동하지 않았다. 그래서 다른 방식으로 하려고 찾아봤다. json파일을 만드는것 보다는 dotenv 패키지를 많이 사용하는 거같았다. dotenvhttps://pub.dev/packages/flutter_dotenv flutter_dotenv | Flutter packageEasily configure any flutter application with global variables using a `.env` file.pub.dev디렉토리 루트 경로에 .env를 만들고 사용하는 것은 기존과 동일했고, pubnsp..