Flutter 52

[Flutter] Mockito 를 이용한 테스트 코드 설정 방법

Mock 클래스 셋팅 방법 1. yaml 설정 dev_dependencies: flutter_test: sdk: flutter mockito: ^5.3.2 build_runner: ^2.3.2 2. 테스트 진행할 클래스 파일의 Mock 클래스 생성 class MainViewModelMock extends Mock implements MainViewModel {} 3. main() 함수 위에 Generate 선언 @GenerateMocks([MainViewModelMock]) void main() { .... } 4. 터미널에서 Mock 파일 생성 flutter pub run build_runner build 5. 테스트를 진행할 main() 함수에서 Mock 클래서 선언 및 호출 late MockMain..

Dev/Flutter 2022.11.25

[Flutter] Http 통신 @GET으로 Json 데이터 전송이 가능한가?

1. 기본적으로 HTTP 통신에서 GET 으로 JSON 데이터 전송 가능 기본적으로 HTTP 통신으로 GET 으로 JSON 데이터를 Body 에 싣어서 보내기가 가능한것 같습니다. https://stackoverflow.com/questions/978061/http-get-with-request-body HTTP GET with request body I'm developing a new RESTful webservice for our application. When doing a GET on certain entities, clients can request the contents of the entity. If they want to add some parameters (for example s.....

Dev/Flutter 2022.11.23

[Flutter] 라운드 형태 TextFiled 만드는 방법

Radius 값을 준 라운드 형태의 텍스트 필드를 구현하기 위해서 Card 위제을 사용해서 shape 에 Border 값을 주면 됩니다. Card( elevation: 0, shape: RoundedRectangleBorder( side: BorderSide( color: Theme.of(context).colorScheme.outline, ), borderRadius: const BorderRadius.all(Radius.circular(12)), ), child: const SizedBox( width: 300, height: 100, child: Center(child: Text('Outlined Card')), ), ) 여기서 기본적으로 Card 위젯은 기본 margin 값(4)을 가지고 있다는것..

Dev/Flutter 2022.11.15

Flutter - Android new GradleException 이슈

Flutter 에서 build.gradle 에서 GradleException 이 빨갛게 표시가 되어서 매우 거슬릴 수 있습니다. (저는 거슬렸습니다....) def flutterRoot = localProperties.getProperty('flutter.sdk') if (flutterRoot == null) { throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") } 여기서 GradleException() 대신에 FileNotFoundException() 으로 수정해줘야 한다. 이유: Update GradleException() to FileNotFou..

Dev/Flutter 2022.05.10

Flutter Pub outdated

1. 업그레이드 가능한 패키지가 있는지 찾는다. $flutter pub outdated 2. 패키지들을 업그레이드 시켜준다. $flutter pub upgrade 3. 다시 확인해서 업그레이드 가능한 패키지들을 찾아보면 업그레이드 됐음을 알 수 있다. $flutter pub outdated Flutter 명령어 add pubspec.yaml에 의존성을 추가한다. cache Work with the Pub system cache. deps 패키지 의존성들을 출력한다. downgrade 플러터 프로젝트의 패키지들을 다운그레이드한다. get 플러터 프로젝트로 패키지들을 가져온다. global Work with Pub global packages. login Log into pub.dev.. logout Log..

Dev/Flutter 2022.05.10

Flutter(ios) - 릴리즈(Release) 모드

이슈 Debug 모드에서는 문제가 생기지 API 연결이 Release 모드 에서 연결이 되지 않는 문제가 발생했습니다. 얼마전까지만해도 Release 모드에서도 문제가 되지 않았었는데 난감했다. 참고한 글에는 Local Network 권한 이슈라고 하는데... 참 이상한게 추가한 라이브러리도 없는데... 갑자기 해당 이슈가 발생했다는건데... 어디서 무엇이 어떻게 된건지... 아직 아리송하다. 에러 local network broadcast in apps need to be declared in the app's Info.plist 해결방법 NSBonjourServices _dartobservatory._tcp 공식문서 https://docs.flutter.dev/development/add-to-app..

Dev/Flutter 2022.04.28

Flutter 다국어 지원 - Localization

Flutter 다국어 지원, Flutter Localization 등으로 검색하면 많은 자료가 나옵니다. 참고자료 1. 기본적으로 참고해야하는 자료는 공식 문서 - https://docs.flutter.dev/development/accessibility-and-localization/internationalization 하지만 영어가 익숙하지 않다보니 공식문서만 보면 이해가 잘 되지 않아서 다른 한글 자료 및 영상 자료를 추가로 참고. 2. 유튜브 영상 - https://youtu.be/Zw4KoorVxgg 상세하게 순서 등 다 나오다보니 감사하게 공식 문서와 함께 참고. 다국어 지원 절차 1. 라이브러리 추가 - pubspec.yaml 파일에 추가 a. dependencies 에 flutter_loc..

Dev/Flutter 2022.04.22

Flutter iOS 개발시 주의할 사항

Simulator 사용 (에뮬레이터) Flutter 로 iOS 개발할때 Simulator 에 빌드해서 앱을 설치하고 확인합니다. iOS Simulator 는 macOS 에서만 사용할 수 있는 가상 디바이스(Xcode 필요) 빌드모드 설명 Flutter의 빌드 모드 기본적으로는 디버그(Debug) 모드 로 빌드를 진행하지만, 외부 테스트 및 앱스토어 등록을 위해서 프로파일(Profile) 혹은 릴리즈(Release) 모드로 빌드를 진행합니다. 디버그 모드로 빌드한 경우에는 앱이 Simualtor 에 설치가 가능하지만 프로파일, 릴리즈 모드로 빌드한 경우에는 Simulator 에 설치가 불가능합니다. 즉, 프로파일, 릴리즈 버전으로 빌드한 경우에는 실제 디바이스를 연결해서 앱을 설치해야 합니다. 빌드모드 S..

Dev/Flutter 2022.04.14