본문 바로가기
반응형

Flutter82

[Flutter] 공공데이터 api 활용해 xml 데이터 가져오기 오늘은 공공 데이터 포털 API를 활용해 xml 타입 데이터를 가져와 flutter로 구현해보겠습니다.오늘 샘플로 가져올 공공 데이터는 인천국제공항공사_여객편 운항현황(다국어) 입니다.(https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15095093) 1. 데이터 탐색하기데이터 미리보기를 통해 한번 살펴보면, 다음과 같이 구성되어있습니다. 더보기00NORMAL SERVICE.세부퍼시픽항공마닐라MNL8MNL03310001B5J188112도착2315P02I제주항공제주CJUD02CJU01010044국내선7C0621도착2330P01D→  item을 돌면서 값을 가져오면 될 것 같습니다.→  여기서 주의할 점이 하나 있는데,  값이 혹.. 2025. 1. 29.
[Flutter] Bottom Navigation Bar 작동 방식 Flutter 앱 하단부의 Bottom Navigation Bar 작동 방식 간단 정리해보겠습니다.1. BottomNavigationBar 위젯의 currentIndex 속성은 현재 선택된 탭의 인덱스를 나타냄. 2. 각 탭 항목은 BottomNavigationBarItem 객체로 표현되며, 리스트 내에서 0부터 시작하는 인덱스를 가짐. 3. 사용자가 탭을 선택할 때마다 onTap 콜백 함수가 호출되고, 선택된 탭의 인덱스가 함수의 인자로 전달됨.(아래의 코드에서는 int타입의 index) void _onItemTapped(int index) {    setState(() {      _selectedIndex = index;    });  } 4. setState 호출로 빌드 재시행(bottom nav.. 2025. 1. 29.
[Flutter] MaterialApp을 statefulwidget에서 쓰면 좋은 경우 MaterialApp은 Flutter 애플리케이션의 루트 위젯으로, 기본 설정 및 전역 상태를 관리하는 핵심 위젯입니다. MaterialApp을 통해 앱의 테마, 라우팅, 로컬화 등 다양한 설정을 관리할 수 있는데, 이건 주로 변경되는 경우가 적기 때문에 StatelessWidget으로 많이들 씁니다.(물론 StatefulWidget으로 쓴다고 문제가 생기는 건 아님, 에디터에서 convert해주면 정상 작동함)하지만, 그럼에도 MaterialApp을 statefulwidget으로 쓰면 좋은 경우가 있는데요. 1. 동적 설정 변경사용자가 앱 내에서 테마(라이트 모드/다크 모드/색상 테마)를 변경할 수 있도록 하려는 경우와  + 다국어 지원 등 동적으로 설정을 변경해야하는 경우 MaterialApp을 St.. 2025. 1. 29.
[Flutter] 공공 데이터 활용해서 앱 만들기 - api key 관련 문제 현재 공공 데이터 open API 를 활용해서 앱을 만들고 있습니다.최근에 글이 뜸했던 이유는 앱을 만드는 과정에서 api key와 관련해 막혀있는 부분이 있어 이를 해결하느라 바빠서인데...혹여나 이 글을 읽을 다른 누군가에게, 그리고 같은 문제를 마주할 미래의 저를 위해 오늘은 해당 내용을 기록해보겠습니다. 사진은 오늘도 내용과 무관한 지브리 포스터아직 배포 단계가 아니기도 했고, 공공 데이터 API로 앱을 만드는게 처음이라 저는 아무 생각 없이 코드에 하드코딩해서 api key를 심어서 개발을 하고 있었습니다. 하지만 문득 다음과 같은 질문들이 머리 속을 스쳤습니다. Q1. api key를 하드코딩해서 사용하면 보안상의 문제가 있지 않을까? → YES  Q2. api key를 사용할 때 호출 횟수에.. 2025. 1. 24.
[Flutter] Shared preferences를 사용해서 좋아요 버튼 구현하기 Flutter의 Shared preferences 플러그인은  앱 내에서 간단한 설정, 사용자 프로필, 선호도 및 기타 작은 데이터 조각을 저장하는데 쓸 수 있는 패키지다. 즉, 앱 내부 디스크에 뭔가를 저장해놓고 기억하겠단 뜻이다. (하지만, flutter 공식 사이트에 따르면, 디스크에 지속되리라는 보장이 없으므로 이 플러그인은 중요한 데이터를 저장하는 데 사용해서는 안 된다고 한다.) 오늘은 이 플러그인을 이용해서 내가 좋아요를 누른 게시글의 정보를 디스크에 저장해보려고 한다.0. 핵심 개념 : get / set Sharedpreferences 플러그인의 핵심적인 두 가지 메서드는 get , set 메서드다.get은 저장된 데이터를 읽어오는 데 사용하고, set은 데이터를 저장하는 데 사용한다. 이.. 2025. 1. 24.
[Flutter] Firebase Firestore에서 데이터 가져오는 두 가지 방법 Flutter에서 Firebase Firestore DB 데이터를 가져오는 법을 두 가지 케이스로 나눠서 정리해보려고 함니다.첫 번째 케이스는 컬렉션>문서>필드에서 필드의 값을 기준으로 데이터를 가져오는 경우이고, 두 번째 케이스는 컬렉션>문서>필드에서 문서의 값을 기준으로 데이터를 가져오는 경우입니다.1. 필드의 값을 기준으로 가져올 때 문서들을 돌면서 문서 안에 있는 stddate필드 기준으로 그날 그날 변하는 formattedDate와 일치하는 필드들을 가져오는 케이스다. 여러 문서를 대상으로 조건에 맞는 문서를 가져올 때 쓰면 좋을 듯 하다.Firestore DB 구조는 다음과 같다.collection_name (컬렉션)├── Doc1 (문서)│   ├── stddate: "20240527"│  .. 2025. 1. 24.
728x90
반응형