develop/Flutter 43

Flutter naver map 현재 위치 표시 및 방향 나타내기

NLocationOverlay 는 아래 공식 문서에 따라 현재 위치 오버레이이다. https://navermaps.github.io/android-map-sdk/guide-ko/5-5.html 위치 오버레이 · 네이버 지도 안드로이드 SDK위치 오버레이 위치 오버레이는 사용자의 위치를 나타내는 데 특화된 오버레이이로, 지도상에 단 하나만 존재합니다. 마커와 유사하게 아이콘을 사용해 사용자의 위치를 나타낼 수 있습니다.navermaps.github.io flutter 에서도 동일하게 사용할 수 있다.  필요한 패키지는 2개flutter_naver_maphttps://pub.dev/packages/flutter_naver_map flutter_naver_map | Flutter packageNaver Map..

develop/Flutter 2025.04.08

[flutter] 겹치는 프로그래스바 - 값이 여러개인 프로그래스바 만들기

값이 여러개가 존재하는 프로그래스 바를 만들어야 했습니다. 다만 가장 작은 값이 가장 상단에 위치하여야 했고 패키지를 사용할 수 없는 상황이었기 때문에 아래와 같이 구현하였습니다.  Container( height: 10, width: double.infinity, child: Stack( children: [ // 기본 배경 Container( decoration: BoxDecoration( color: Colors.grey[200], borderRadius: BorderRadius.circular(5), ), ), ..._buildSortedProgressIndicators(count), // 전체..

develop/Flutter 2024.11.26

Dart에서 Currying 사용하기 - 커링 함수사용하여 코드 질 높이기

Currying 함수란?Currying은 여러 개의 인자를 받는 함수(multi-argument function)를하나의 인자를 받는 함수들의 연속으로 변환하는 프로그래밍 기법즉, 하나의 함수가 한 번에 모든 인자를 받는 대신,각각의 인자를 별도로 받아 새로운 함수를 반환하는 방식으로 동작한다.이 방식은 복잡한 함수 호출을 간결하게 표현하고,특정 인자 값을 고정(fixed)하여 재사용성을 높이는 데 유용커링은 함수형 프로그래밍에서 자주 사용하는 기법으로,Dart에서도 클로저와 함수 반환을 통해 구현할 수 있어 활용도가 높음Currying의 기본 개념// 일반적인 함수int add(int a, int b) { return a + b;}// Currying 방식Function addCurry(int a) ..

develop/Flutter 2024.11.18

Dart의 고오급 함수를 적절히 사용하여 코드 퀄리티 높이기

1. 고차 함수 (Higher-order Functions)고차 함수는 다른 함수를 인자로 받거나, 함수를 반환하는 함수임Dart에서는 고차 함수를 사용하여 코드를 더욱 유연하고 재사용 가능하게 만들 수 있음1.1 함수 전달void executeFunction(String message, Function(String) callback) { callback(message);}void printMessage(String message) { print(message);}void main() { executeFunction("Hello, Dart!", printMessage); // Hello, Dart!}1.2 함수 반환Function makeMultiplier(int multiplier) { retu..

develop/Flutter 2024.11.17

Dart에서 `toList()`와 `toMap()` 사용법, 응용 하기

Dart에서 toList()와 toMap() 메서드는리스트와 맵 자료구조 간의 변환을 쉽게 할 수 있게 해주는 유용한 도구입니다.이들은 데이터 구조를 필요에 따라 변경하고,각 상황에 맞는 기능을 활용할 수 있도록 도와줍니다.toList()와 toMap() 메서드의 기본 사용법부터 고급 활용법을 알아보겠습니다. 1. toList() 메서드: 리스트로 변환하기toList() 메서드는 Dart의 다양한 컬렉션 타입을 List로 변환합니다.주로 Set이나 Iterable 타입을 List로 바꿀 때 사용되며,모든 요소를 포함하는 새로운 리스트를 생성하여 반환합니다.1.1 toList() 기본 예제void main() { Set fruits = {'Apple', 'Banana', 'Orange'}; // S..

develop/Flutter 2024.11.12

Dart에서 맵(map) 다루기

Dart의 Map은 키-값 쌍을 저장하고 관리하는 강력한 컬렉션 타입입니다.각 키에 대해 고유한 값을 저장하며,데이터에 빠르게 접근하거나수정할 수 있는 다양한 메서드와 속성을 제공합니다.1. Map의 기본 개념Map은 키와 값으로 구성된 데이터를 저장하는 자료 구조로, 각 키는 고유해야 합니다.키를 통해 데이터를 쉽게 조회하고 수정할 수 있습니다.Dart에서는 Map을 주로 JSON 데이터 처리나 키-값 형태의 데이터 저장 및 관리에 사용합니다.예를 들어, 학생들의 성적이나 상품의 이름과 가격을 저장할 때 유용하게 활용할 수 있습니다.Map 생성 Dart에서는 여러 방법으로 Map을 생성할 수 있습니다.가장 일반적인 방법은 리터럴 문법이나 생성자를 사용하는 것입니다.void main() { // ..

develop/Flutter 2024.11.11

Dart에서 리스트(List) 다루기

Dart는 List라는 컬렉션 타입을 제공하여 여러 값을 하나의 변수에 저장하고 관리할 수 있게 해줍니다.List는 자주 사용되는 데이터 구조로, Dart에서는 리스트를 다루기 위한 다양한 메서드를 지원합니다.리스트 생성Dart에서 리스트를 만드는 방법은 여러 가지가 있습니다.가장 흔한 방법은 대괄호 []를 사용하는 것입니다.void main() { // 빈 리스트 만들기 List fruits = []; // 초기값이 있는 리스트 만들기 List numbers = [1, 2, 3, 4, 5]; print("빈 리스트: $fruits"); print("초기값이 있는 리스트: $numbers"); } 1. add() 메서드add() 메서드는 리스트 끝에 새로운 항목..

develop/Flutter 2024.11.10

flutter 엑셀 파싱 모델 데이터 형태로 사용하기

모델 형태로 파싱하기 위해서는 모델 class가 필요합니다. 엑셀로 파싱하기 가장 좋은 예제가 단어장일것 같아 단어장으로 모델 데이터를 생성했고예제는 null이 가능하도록 수정했습니다.model.dartclass WordEntry { final String word; final String meaning; final String? example; WordEntry({ required this.word, required this.meaning, this.example, }); @override String toString() { return 'Word: $word, Meaning: $meaning, Example: ${example ?? "N/A"}'; }} 파싱하는 열..

develop/Flutter 2024.11.08

[Flutter] 하단에 고정된 스크롤 가능한 바텀시트 DraggableScrollableSheet 사용하기

하단에 고정된 시트를 만들어야 했는데, 생각보다 쉽게 구현할 수 있었다. 다만 구글링이 올래걸렸다.. 다 생각했던 대로 원하는대로 움직이지를 않았다우...우선 고정된 시트는 DraggableScrollableSheet을 통해서 구현할 수 있다.  시트 구성하기시트 구성코드는 아래와 같다. DraggableScrollableSheet( initialChildSize: 0.25, maxChildSize: 0.8, minChildSize: 0.25, controller: sheetController, builder: (BuildContext context, scrollController) { return Container( ..

develop/Flutter 2024.07.26

Framework 'flutter_inappwebview' not found 6.0.0 버전

우선 Framework 'flutter_inappwebview' not found오류가 계속 떴다. 5.x.x 버전에서 6.0.0으로 올리니깐 안드로이드는 빌드되지만 iOS가 안되네? 헣ㅎ허weburl 때문에 무조건 6.0을 써야하는 상황인데 다시 다운그레이드를 할 수도 없는 상태에서 무조건 방법을 찾아야했다. 이번에 소요된 시간 무료 12시간,,, 이 글이 도움이 되기를  먼저 발생한 에러는 아래와 같다. Launching lib/main.dart on iPhone 13 in debug mode...Running Xcode build... └─Compiling, linking and signing... ..

develop/Flutter 2024.05.14