2023-11-28 1. 패턴 Getter 아래는 getter를 사용한 패턴이다. get 키워드를 이용해 직사각형의 넓이를 추출하는 간단한 예제이다. class Rectangle { final int width, height; Rectangle(this.width, this.height); // This computed property is treated like a function // that returns a value. int get area => width * height; } Setter 아래는 Setter 를 활용한 패턴으로 Point 클래스로 x와 y와 받아 중앙값을 구한다. class Rectangle { final int width, height; Rectangle(this.width,..
2023-11-22 1. 설정 우선 자식의 애플리케이션 최상단에 font를 폴더를 생성한 후 사용할 font 파일들을 넣어준다. your_app/ fonts/ Raleway-Regular.ttf Raleway-Italic.ttf RobotoMono-Regular.ttf RobotoMono-Bold.ttf 이후 pubspec.yaml 에 아래와 같이 font 파일의 위치와 스타일등을 지정해 준다. flutter: fonts: - family: Raleway fonts: - asset: fonts/Raleway-Regular.ttf - asset: fonts/Raleway-Italic.ttf style: italic - family: RobotoMono fonts: - asset: fonts/RobotoMo..
2023-11-21 0. 구조 현재 디렉토리 구조는 아래와 같다. 1. 방법 flutter: uses-material-design: true assets: - assets/logo/ assets: - assets/logo/ pubspec.yaml 에 위와 같은 형식으로 자신의 정적 파일 경로를 추가 한다. 반드시 들여쓰기는 위의 코드와 같이 맞춰주어야한다. 2. 사용법 코드로 해당 정적 파일을 불러올때는 아래와 같은 형식으로 이미지 정보를 불러오면 된다. Image.asset( 'assets/logo/google_logo.jpg', // Google 로고 이미지 height: 24.0, // 이미지 높이 조절 ), 3. 참고링크 https://docs.flutter.dev/ui/assets/assets-..
2023-11-20 1. 정의 factory 생성자는 매번 새로운 인스턴스를 생성하여 리턴할 필요가 없는 경우에 사용할 수 있는 키워드이다. 즉 factory 키워드를 사용하면, 캐시 되어 있는 인스턴스나 해당 클래스의 하위타입을 리턴할 수 있다. 2. 예제 아래는 Dart 공식 문서에 있는 Logger예제이다. class Logger { final String name; bool mute = false; // _cache is library-private, thanks to // the _ in front of its name. static final Map _cache = {}; factory Logger(String name) { return _cache.putIfAbsent(name, () => ..
2023-11-17 1. 원인 기본적으로, Android 9 (API 레벨 28)부터는 usesCleartextTraffic가 기본적으로 비활성화되어 있다. 이는 보안 상의 이유로, HTTPS(SSL/TLS)를 통한 암호화된 연결을 사용하도록 권장하기 때문인데, 안드로이드 9 이상의 버전에서는 기본적으로 암호화되지 않은 트래픽이 차단되며, NetworkSecurityConfig를 사용하여 명시적으로 허용할 수 있다. 2. 방법 방법은 간단하다. AndroidManifest.xml 로 들어가 설정 정보를 변경해주면된다. 아래와 같이 application 단에서 android:usesCleartextTraffic="true" 설정 정보를 추가해 주면 된다. 메인 이미지 출처 : 사진: Unsplash의NEOM
2023-11-16 1. 방법 // 변수를 선언하여 서버로부터 받아온 데이터를 저장합니다. Map data = {}; // 서버에서 데이터를 가져오는 함수 Future fetchData() async { var response = await http.get(Uri.parse('http://10.0.2.2:8080/test')); if (response.statusCode == 200) { // 성공적으로 데이터를 가져온 경우 setState(() { //data = json.decode(response.body);