Flutter Provider - 꿀팁 ? ~ ? 🎈
·
Flutter
요즘 회사 업무 일이 바빠서 오랜만에 글을 적어봅니다 Flutter에서 Provider를 사용하면서 꿀팁들을 조금 정리해보았습니다. 카운터 앱 제작 dependencies: flutter: sdk: flutter provider: 우선, provider 패키지를 프로젝트에 추가하기 위해 pubspec.yaml 파일에 위와 같은 코드를 추가하고 패키지를 가져옵니다. 1. Flutter pub add provider 2. yaml 파일에 provider : 추가 후 Flutter pub get 두개중 편한대로 사용하시면 됩니다. count_provider import 'package:flutter/material.dart'; class CountProvider with ChangeNotifier { int ..
Android Spinner
·
Android
Spinner란 위와 같이 드롭다운 형태로 사용자가 원하는 아이템을 선택할 수 있도록 해주는 레이아웃입니다. Spinner 레이아웃 만들기 먼저 xml 파일에 Spinner 레이아웃을 만듭니다. TextView 는 Spinner 의 아이템들이 어떤 집합에 속하는지 나타내기 위해 만들었습니다. Spinner 안에 들어갈 아이템들을 저장하기 위해 values/string.xml 파일에 string array를 만듭니다. 테스트1 테스트2 테스트3 테스트4 ArrayAdapter 생성하기 Activity 혹은 Fragment 에서 ArrayAdapter 를 생성하여 Spinner 에 적용해줍니다. private fun initSpinner() { ArrayAdapter.createFromResource( re..
Flutter 네이티브 연결
·
Flutter
먼저 Platform Channel에 대해서 모르시는 분들을 위해 간단하게 살펴보자면, Flutter는 앱, 웹, 데스크탑, 리눅스 등의 환경을 개발할 수 있도록 하는 프레임워크라는 사실은 이미 알고 계실거다. 앱에서는 양대 플랫폼인 Android / IOS를 모두 개발하는 크로스플랫폼인데, 네이티브 고유의 기능에 접근해야 하는 등의 개발이 필요한 경우 네이티브 언어를 통해 Flutter와 통신을 할 수 있다. 물론 통신을 하지 않고도 Flutter의 Dart Package에 등록된 PlugIn을 사용하여 개발이 가능하긴 하다. 여기서 말한 PlugIn이 바로 네이티브 코드로 만들어진 것이다. Library라고 불리는거는 Flutter 프레임워크에서 만들어진거고, PlugIn은 네이티브로 만들어진 것이다..
Flutter - 테스트 종류
·
Flutter
참고: https://flutter-ko.dev/docs/cookbook/testing https://mangkyu.tistory.com/182 [TDD] 단위 테스트와 TDD(테스트 주도 개발) 프로그래밍 방법 소개 - (1/5) 이번에는 여러 개발 서적들 및 실무 경험 그리고 시행 착오 등을 겪으면서 얻은 테스트 주도 개발 방법에 대해 소개해보고자 합니다. 이번 포스팅에서는 먼저 단위 테스트와 중요성 그리고 단위 mangkyu.tistory.com 플러터에서는 어떤 테스트 방법이 있을까? 플러터에서는 크게 Unit test, Widget test, Integration test 로 나누어져 있습니다. 공통 먼저, test 라이브러리를 import해주기 위해 flutter/pubspec.yaml 에 해..
Flutter - Test 2편
·
Flutter
2.이메일과 주민번호 테스트하기 2.1 테스트 예제 - 주민번호 확인하기 ( social security number validator ) 주민 번호는 앞에는 생년월일, 뒤에는 성별 및 주소로 되어 있죠. 이를 확인하는 정규표현식을 작성해 보겠습니다. field_validator.dart class FieldValidator { static bool validateSocialSecurityNumber(String input) { if (input.isEmpty) return false; ​ Pattern pattern = r'^[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|[3][01])-([1-4][0-9]{6})'; RegExp exp = RegExp(pattern); ​ ..
Flutter - Unit Testing
·
Flutter
플러터 유닛 테스팅 유닛 테스팅 (Unit Testing) 첨엔 핫리로딩의 효율성이 정말 좋다보니 테스팅을 할 필요성을 못 느꼈었는데요. 점차 코드를 추가하다보니 테스트를 해야겠단 생각이 들었습니다. 이번에 테스팅을 공부하면서 다트가 정말 잘 만들어졌구나 하는 걸 느꼈습니다. 사실 다트의 테스팅도 다른 테스트와 비슷합니다. 용어가 조금 다를 뿐이죠. 이번 글을 통해 제가 개발하며 배운 테스팅을 정리해보려 합니다. 플러터에서 쓰이는 테스트 방식은 크게 3가지인데요. 유닛 테스트, 위젯 테스트, 통합 테스트입니다. 뒤로 갈수록 테스팅의 규모가 커지는 대신, 시간이 더 오래걸리죠. 이번 글에선 유닛 테스팅을 알아보도록 할께요. 1. Unit Testing 유닛 테스팅은 메소트나 클래스처럼 작은 단위를 테스트할..
Android - Garbage Collection(GC)
·
Android
Garbage Collection Java는 Garbage Collection(GC)을 이용하여 메모리를 관리한다. 필요에 따라 GC가 실행되고, 그 과정에서 사용하지 않는 객체들을 정리해 준다. Garbage Collection의 동작 원리 아래 기술되는 내용은 GC의 모든 것을 다루지 않는다. 그저 GC라는 것이 있고 그것이 어떤 방식으로 돌아간다- 하는 간략한 요약 정도일 뿐이다. 1. 자바에서는 Garbage Collection(또는 GC)를 이용하여 메모리를 정리한다. 1-1. GC는 더이상 사용되지 않는 쓰레기 객체들을 정리하는 작업을 한다. 1-2. GC는 필요에 따라 자동으로 실행된다. (2-2의 경우에 실행된다.) 2. GC에 의해 관리되는 메모리는 Young과 Old로 나뉜다. 2-1...
Android - Manifest & Components
·
Android
Manifest 안드로이드 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공하는 목록 앱의 패키지 이름 앱에서 사용되는 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버, 컨텐트 프로바이더) 권한(Permission) 앱에서 요구하는 하드웨어와 소프트웨어 특징 1. Package name and Application ID 매니페스트 파일의 Root element() 에는 해당 앱의 패키지 네임이 반드시 기재되어야 합니다. "com.ready.example" 이라는 패키지 네임의 manifest 파일 ... 여기서 manifest의 패키지 네임은 우리가 앱을 빌드하여 APK 를 추출하는 과정에서 Android Build Tool 에 의해 다음 2가지 목적으로 사용됩니다...
Flutter - ListView
·
Flutter
ListView Flutter의 ListView 위젯은 스크롤 가능한 항목 목록을 표시하는 데 사용된다. 한 번에 화면에 맞지 않는 많은 수의 항목을 표시하는 데 사용할 수 있다. ListView 위젯은 세로 및 가로 스크롤을 모두 지원하며 앱의 요구 사항에 맞게 사용자 지정할 수 있다. 'ListView' 위젯은 빌더 함수, 위젯 목록 또는 'SliverChildListDelegate'를 비롯한 다양한 방법을 사용하여 항목으로 채워질 수 있다. 빌더 기능은 일반적으로 데이터베이스 또는 웹 서비스와 같은 일부 데이터 소스를 기반으로 목록 항목을 동적으로 생성해야 하는 경우에 사용된다. ListView 위젯은 바운싱 또는 스냅과 같은 다양한 스크롤 동작도 지원합니다. scrollDirection, item..
Flutter - Scaffold
·
Flutter
Scaffold Scaffold는 머티리얼 디자인 앱의 기본 시각적 구조를 제공하는 Flutter의 위젯 앱 사용자 인터페이스의 시각적 요소를 구성하는 데 사용되는 컨테이너 위젯 Scaffold 위젯은 AppBar, BottomNavigationBar, Drawer 및 FloatingActionButton과 같은 다른 위젯이 하위 항목으로 추가되어 앱 사용자 인터페이스의 기본 빌딩 블록으로 자주 사용. Scaffold 위젯의 주요 역할은 앱의 기본 레이아웃 구조를 제공 AppBar: Scaffold는 제목, 작업 및 기타 위젯을 화면 상단에 표시하는 데 사용할 수 있는 내장 AppBar 위젯을 제공한다. Drawer: Scaffold는 또한 화면 측면에서 슬라이드 아웃되는 탐색 메뉴를 표시하는 데 사용할..