목록Flutter/개발 노트 (18)
HIT해

retrofit | Dart package retrofit | Dart packageretrofit.dart is an dio client generator using source_gen and inspired by Chopper and Retrofit.pub.dev pubspec.yamldependencies: retrofit: '>=4.0.0 =7.0.0 =2.19 build_runner: '>=2.3.0 json_serializable과 함께 사용하면 좋다는 것을 알 수 있다,기존의 Json 통신구조를 살펴보자.Future함수를 통해 http통신을 진행해 변환되지않은 JSON코드 받아오기JSON코드를 모델에 담아 직렬화직렬화된 JSON을 FutureBuilder에 담아 실행.FuterBuilde..

json_serializable | Dart packagejson serializable 은 json 직렬화 역직렬화 도구입니다. 자동 코드 생성:json_serializable을 사용하면 JSON 직렬화/역직렬화를 위한 boilerplate 코드를 자동으로 생성할 수 있습니다.이를 통해 개발자가 직접 fromJson(), toJson() 메서드를 작성할 필요가 없어집니다. 간편한 사용:클래스에 @JsonSerializable() 어노테이션을 추가하면 json_serializable이 자동으로 필요한 코드를 생성합니다. 이를 통해 JSON 처리 로직을 쉽게 구현할 수 있습니다. 유연한 설정:JsonSerializable 어노테이션에는 다양한 옵션을 설정할 수 있습니다. 예를 들어 필드 이름 매핑, 기본..
https://m.blog.naver.com/whdals0/223086755185 Flutter - iOS Archive 시 발생하는 오류 (Command PhaseScriptExecution failed with a nonzero exit code) 수정방법Flutter 로 개발 후 스토어에 올리기 위해서 Xcode 로 Archive 하는 과정에서 발생 한 오류 (Command ...blog.naver.com

1. 내 애플리케이션 > 앱설정 > 플랫폼Android 패키지명, 키해시 설정2. 내 애플리케이션 > 앱설정 > 앱키네이티브 앱 키, REST API 키 복사 후import 'package:flutter/material.dart';import 'package:flutter_riverpod/flutter_riverpod.dart';import 'package:flutter/services.dart'; // SystemChrome을 사용하기 위해 필요import 'package:kakao_flutter_sdk_user/kakao_flutter_sdk_user.dart';import 'common/view/splash_screen.dart'; // SplashScreen의 경로에 따라 수정해주세요.void m..
백엔드와 통신으로 값을 받고 그 값들중에서 키값이 일치하는 값들만 받아서 저장해야하는 상황이 있었다. 내가 해결한 방식은 저장된 값의 길이만큼 반복문을 돌고 해당하는 키값을 배열에 저장하는 방식으로 해결했다. 해결방식 var pushData = context.watch().pushData; var matchedData = []; for (var i = 0; i < pushData.length; i++) { if (pushData[i].containsKey(ownPillId.toString())) { matchedData.add(pushData[i][ownPillId.toString()]); } } pushData에는 전체 값이 들어가있고 matchedData에는 빈 배열이 들어가있다. pushData가 ..
setState는 호출하면 해당 StatefulWidget과 하위 위젯들이 변경되고 watch 메서드는 ChageNorifier 상태 변화를 감지하고 호출 위치부터 하위의 모든 위젯들이 재빌드 됩니다. 그리고 두가지 모두 하위에 변화가 없는 위젯이 있다면 변화없는 위젯들은 재빌드되지 않습니다. Flutter는 효율적인 렌더링을 위해 위젯 트리를 비교해 실제 변화가 있는 위젯만을 재빌드하기 때문이죠. 별다른 차이가 없어보이는데 공통된 부분이 있는데 어째서 공존하는걸까? 사용 방법과 동작 방식에 차이가 존재한다. setState는 새로운 상태를 설정하고, 그 후 Flutter 프레임워크에게 위젯의 build 메서드를 다시 호출하도록 요청합니다. 따라서 setState를 호출하는 것은 상태가 변경되었음을 Fl..
Provider를 사용하다보면 렌더링이 지속적으로 반복하는 경우가 있습니다. 우선 Provider 사용법을 알아봅시다. watch -> Provider 변화를 감지해 데이터를 얻고 해당 메소드가 포함된 위젯을 재빌드 read ->Provider의 데이터를 읽고 변경할 수 있다. select -> watch와 유사하게 변화를 감지하고 위젯을 재빌드하지만 Provider내의 특정 속성의 변화만을 감지할 수 있다. select 예시다 class User { User({required this.name, this.age}); final String name; final int age; } class MyWidget extends StatelessWidget { @override Widget build(Build..