Flutter Scaffold

`Scaffold`는 Flutter에서 화면의 기본적인 구조를 만드는 데 사용되는 위젯입니다. 앱바, 드로어, 플로팅 액션 버튼, 바텀 네비게이션 바 등을 포함하는 다양한 UI 요소를 쉽게 구성할 수 있도록 도와줍니다. `Scaffold`는 Material Design의 주요 레이아웃 구조를 제공합니다. ▶ 주요 속성 – appBar: 화면 상단에 표시되는 앱바를 설정합니다. `AppBar` 위젯을 사용합니다.– body: 주요 콘텐츠가 위치하는 영역을 설정합니다.– floatingActionButton: 화면 오른쪽 하단에 떠 있는 액션 버튼을 설정합니다. `FloatingActionButton` …

Flutter AppBar

`AppBar`는 Flutter에서 화면 상단에 표시되는 제목 바를 제공하는 위젯입니다. `AppBar`는 기본적인 타이틀, 로고, 액션 아이콘 등을 포함할 수 있으며, 복잡한 레이아웃도 지원합니다. 주로 `Scaffold` 위젯의 `appBar` 속성에 사용됩니다. 주요 속성 – title: 앱바의 제목을 설정합니다. 보통 `Text` 위젯을 사용합니다.– leading: 앱바의 왼쪽에 표시되는 위젯을 설정합니다. 보통 메뉴 버튼이나 뒤로 가기 버튼으로 사용됩니다.– actions: 앱바의 오른쪽에 표시되는 위젯 …

Flutter StatelessWidget

Flutter에서 `StatelessWidget`은 상태가 없는 위젯입니다. 이 위젯은 한 번 생성되면 변경되지 않는 값들을 렌더링하는 데 사용됩니다. 즉, 상태나 데이터가 변하지 않으므로 빌드 메서드가 다시 호출되지 않습니다. ### 예제 코드 간단한 `StatelessWidget` 예제를 통해 설명해보겠습니다. 이 예제는 단순한 텍스트 메시지를 화면에 표시하는 애플리케이션입니다. ### 코드 설명 1. **MyApp 클래스 (StatelessWidget)**:   – `MyApp`은 `StatelessWidget`을 상속합니다.   – `build` 메서드는 위젯 트리를 빌드하며, 여기서 `MaterialApp`을 반환합니다. 2. **MyHomePage 클래스 (StatelessWidget)**:   – `MyHomePage` 역시 `StatelessWidget`을 상속합니다.   – `build` 메서드는 UI를 정의하며, `Scaffold`를 반환합니다. 이 `Scaffold`는 앱의 기본적인 레이아웃 구조를 제공합니다.   – `AppBar`는 상단에 표시되는 앱바를 정의하고, `Center` 위젯은 자식을 중앙에 배치합니다.   – `Text` 위젯은 화면에 “Hello, Flutter!” 메시지를 표시합니다. `StatelessWidget`은 상태를 가지지 않기 때문에 간단한 UI를 정의할 때 주로 사용됩니다. 상태나 데이터가 변경될 필요가 없을 때 적합합니다. ### StatelessWidget의 특징 – **불변성**: `StatelessWidget`의 속성은 변경되지 않습니다. 위젯이 생성된 후에는 상태를 변경할 수 없습니다.– **간결성**: 상태 관리가 필요 없으므로 코드가 간결합니다.– **성능**: 상태가 변경되지 않기 때문에 성능 최적화에 유리합니다. `StatelessWidget`은 정적인 UI를 구성할 때 사용하기 적합합니다. 데이터나 상태가 변하지 않는 부분에 적합하며, 변동이 필요한 경우 `StatefulWidget`을 사용합니다.

Flutter StatefulWidget

Flutter에서 `StatefulWidget`은 상태를 가지며, 그 상태가 변경될 때 UI를 다시 빌드할 수 있는 위젯입니다. 반면에 `StatelessWidget`은 상태가 없는 위젯으로, 생성된 후에는 변하지 않습니다. `StatefulWidget`은 상태가 변경될 수 있는 애플리케이션의 인터페이스 요소를 만들 때 사용됩니다. `StatefulWidget`은 두 개의 클래스가 필요합니다:1. `StatefulWidget` 클래스 자체.2. `State` 클래스를 확장하는 상태 클래스. `StatefulWidget` 클래스는 위젯의 틀만 제공하고, `State` 클래스는 실제 상태를 관리하고 빌드 메서드를 통해 UI를 렌더링합니다. ### 예제 코드 간단한 `StatefulWidget` 예제를 통해 설명해보겠습니다. 이 예제는 버튼을 눌러 카운터를 증가시키는 간단한 애플리케이션입니다. ### 코드 설명 1. **MyHomePage 클래스 (StatefulWidget)**:   – `MyHomePage`는 `StatefulWidget`을 상속합니다.   – `createState` 메서드는 이 위젯의 상태를 관리하는 `_MyHomePageState` 객체를 생성합니다. 2. **_MyHomePageState 클래스 (State)**:   – `_MyHomePageState`는 `State<MyHomePage>`를 상속합니다.   – `_counter` 변수는 상태를 저장합니다.   – `_incrementCounter` 메서드는 `_counter`를 증가시키고 `setState`를 호출하여 UI를 업데이트합니다.   – `build` 메서드는 UI를 정의하며, `_counter` 값이 변경될 때마다 다시 호출됩니다. ### `setState` 메서드 `setState` 메서드는 상태를 변경하고, 변경된 상태를 기반으로 UI를 다시 빌드합니다. 상태를 변경할 때마다 반드시 `setState`를 호출해야 UI가 업데이트됩니다. 이와 같은 구조를 통해 Flutter는 상태 관리와 UI 업데이트를 효율적으로 처리합니다. `StatefulWidget`과 `State`의 분리된 구조는 복잡한 애플리케이션에서도 상태와 UI의 관리를 용이하게 합니다.

Flutter Build

Android Studio에서 Flutter를 사용하여 다양한 빌드 옵션을 활용할 수 있습니다. 각 빌드 옵션에 대한 자세한 설명은 다음과 같습니다: 1. Build AAR (Android Archive) AAR 파일은 Android 라이브러리 프로젝트를 패키징한 파일로, …

Flutter build app bundle

flutter build appbundle 명령어는 Flutter 애플리케이션을 Google Play 스토어에 배포하기 위한 Android App Bundle(AAB) 형식으로 빌드하는 명령어입니다. 이 명령어는 APK 파일을 여러 개의 작은 파일로 나누어, 사용자가 앱을 설치할 때 …