개괄적인 내용 (테이블)
주차 | 목표 | 주요 내용 | 실습 | 숙제 |
---|---|---|---|---|
1주차: 개발 환경 설정 | Flutter 개발 환경 설정 및 기본 앱 실행 | Flutter SDK, Visual Studio Code, Android Studio 설치, ChatGPT 활용법 | 기본 Flutter 앱 생성 및 Android 에뮬레이터 실행 | Flutter 프로젝트 생성 |
2주차: Gemini CLI 설치 및 활용 | Gemini CLI 설치하고 로또 번호 생성 로직 구현 | Gemini CLI 설치, 랜덤 숫자 생성 로직, ChatGPT 비교 | Gemini CLI 코드 통합, 콘솔 출력 | |
3주차: Android 앱 개발 | Android 앱 UI 구현 및 점진적 수정으로 화면 갱신 | Material Design, UI 구현, 화면 갱신 로직 | UI 코드 적용, 수정 후 화면 갱신 테스트 | UI 개선 |
4주차: Play Store 배포 | Android 앱 최적화 및 Play Store 배포 | 반응형 레이아웃, AAB 빌드, Play Store 등록 | 앱 빌드, Play Store 업로드, 시연 |
1주차: 개발 환경 설정
- 목표: Flutter 개발 환경을 설정하고 기본 앱을 실행해 앱 개발 첫걸음을 내딛는다.
- 시간: 월요일 저녁 7시 (2시간)
- 내용:
- 오리엔테이션 (20분)
- 강좌 목표: Flutter로 로또 번호 생성기 Android 앱 개발 및 Play Store 배포
- 로또 앱 소개: 버튼 클릭으로 1~45 사이 6개 숫자 생성, 카드 형태로 표시
- 참가자 자기소개 및 앱 개발 동기 공유
- 개발 환경 설정 (60분)
- Flutter SDK 설치 및 환경 변수 설정 (Windows/Mac/Linux)
- Visual Studio Code 설치, Flutter/Dart 플러그인 설정
- Android Studio 설치 및 Android 에뮬레이터 설정
- ChatGPT로 설치 문제 해결법 학습 (예: "Flutter 설치 시 PATH 설정 오류 해결")
- 실습 (40분)
- Flutter 프로젝트 생성 및 Android 에뮬레이터에서 "Hello, World!" 앱 실행
- ChatGPT로 간단한 Flutter 코드 요청 (예:
Flutter로 버튼을 만드는 코드 작성해줘
) - 코드 실행 및 결과 확인
- 오리엔테이션 (20분)
- 숙제:
- Flutter 프로젝트를 생성하고 Android 에뮬레이터에서 실행 확인
- 참고 자료:
- Flutter 공식 설치 가이드](https://flutter.dev/docs/get-started/install))
- ChatGPT 프롬프트 예제: "Flutter로 Text 위젯을 중앙에 배치하는 코드 설명"
2주차: Gemini CLI 설치 및 활용
- 목표: Gemini CLI를 설치하고 로또 번호 생성 로직을 구현해 앱의 핵심 기능을 만든다.
- 시간: 월요일 저녁 7시 (2시간)
- 내용:
- Gemini CLI 설치 (30분)
- Gemini CLI 설치
- 기본 명령어 학습
- 설치 문제 해결을 위해 ChatGPT 활용 (예: "Gemini CLI 설치 에러 해결")
- 랜덤 숫자 생성 로직 (50분)
- Gemini CLI로 Dart 코드 작성 (예:
gemini-cli "Dart로 1~45 사이 중복 없는 6개 숫자 생성 코드"
) - ChatGPT로 동일 코드 요청 후 결과 비교 (정확성, 코드 스타일)
- Dart의
Random
클래스와List
를 활용한 중복 제거 및 숫자 생성 로직 이해
- Gemini CLI로 Dart 코드 작성 (예:
- 실습 (40분)
- Gemini CLI로 생성한 코드를 Flutter 앱에 통합
- 버튼 클릭 시 콘솔에 6개 숫자 출력 (예:
print(numbers);
) - ChatGPT로 코드 디버깅 요청 (예: "Dart 코드에서 null 에러 해결 방법")
- Gemini CLI 설치 (30분)
- 숙제:
- Gemini CLI로 생성된 숫자를 오름차순 정렬하는 코드 추가 (예:
numbers.sort();
) - ChatGPT로 숫자를 화면에 표시하는 Flutter 코드 작성 시도 (예: Text 위젯 사용)
- Gemini CLI로 생성된 숫자를 오름차순 정렬하는 코드 추가 (예:
- 참고 자료:
- Gemini CLI 설치 가이드 (xAI 공식 문서, 예: x.ai/api)](https://x.ai/api)))
- Dart
Random
클래스 문서: api.dart.dev](https://api.dart.dev/stable/dart-math/Random-class.html))
3주차: Android 앱 개발
- 목표: Android 앱의 UI를 구현하고 점진적 수정으로 화면을 갱신하며 사용자 경험을 개선한다.
- 시간: 월요일 저녁 7시 (2시간)
- 내용:
- Android 앱 UI 기초 (30분)
- Material Design 위젯:
Text
,ElevatedButton
,Card
- 기본 레이아웃:
Column
,Row
,Container
- Android 스타일링: 색상, 패딩, 폰트 크기 설정
- Material Design 위젯:
- UI 및 기능 구현 (50분)
- Gemini CLI로 UI pinchedButton UI 코드 작성 (예:
gemini-cli "Flutter로 버튼 클릭 시 1~45 사이 6개 숫자를 카드 형태로 표시하는 Android 앱 코드"
) - ChatGPT로 UI 개선 요청 (예: "Flutter에서 버튼 색상과 크기 변경 코드")
- StatefulWidget을 사용한 화면 갱신 로직 (버튼 클릭 시 번호 재생성)
- Gemini CLI로 UI pinchedButton UI 코드 작성 (예:
- 실습 (40분)
- Gemini CLI와 ChatGPT로 생성한 UI 코드 적용
- 점진적 수정 (예: 카드 색상, 텍스트 크기, 버튼 스타일) 후 Android 에뮬레이터에서 화면 갱신 테스트
- Android 앱 UI 기초 (30분)
- 숙제:
- Gemini CLI로 UI 개선 코드 작성 (예: 배경 색상, 버튼 둥글게)
- 번호 생성 기록을
List
로 저장하는 기능 시도 (ChatGPT 활용 가능)
- 참고 자료:
- Flutter Material Design 문서: flutter.dev](https://flutter.dev/docs/development/ui/widgets/material))
- ChatGPT 프롬프트 예제: "Flutter Card 위젯에 숫자를 동그란 박스로 표시하는 코드"
4주차: Play Store 배포
- 목표: Android 앱을 최적화하고 Google Play Store에 배포한다.
- 시간: 월요일 저녁 7시 (2시간)
- 내용:
- 앱 최적화 (30분)
- 반응형 레이아웃으로 다양한 Android 화면 크기 대응 (예:
MediaQuery
사용) - UI/UX 점검: 버튼 크기, 텍스트 가독성, 간격 최적화
- Gemini CLI로 성능 개선 요청 (예:
gemini-cli "Flutter Android 앱 성능 최적화 방법"
)
- 반응형 레이아웃으로 다양한 Android 화면 크기 대응 (예:
- Play Store 배포 (50분)
- Flutter 앱을 Android App Bundle(AAB)로 빌드 (예:
flutter build appbundle
) - Google Play Console 계정 설정 및 앱 등록
- Play Store 요구사항: 앱 설명, 스크린샷, 512x512 아이콘 이미지 등록
- ChatGPT로 빌드 에러 디버깅 (예: "Flutter AAB 빌드 에러 해결 방법")
- Flutter 앱을 Android App Bundle(AAB)로 빌드 (예:
- 실습 및 마무리 (40분)
- 앱 빌드 및 Android 실 기기 테스트
- Google Play Console에 앱 업로드 및 배포 테스트
- 참가자 앱 시연 및 피드백 공유
- 앱 최적화 (30분)
- 숙제:
- Play Store 배포 링크 공유 및 피드백 작성
- Gemini CLI 또는 ChatGPT로 추가 기능 탐색 (예: 번호 공유 버튼,
share_plus
패키지 활용)
- 참고 자료:
- Google Play Console 가이드: play.google.com/console](https://play.google.com/console))
- Flutter AAB 빌드 가이드: flutter.dev](https://flutter.dev/docs/deployment/android))
추가 정보
- 기술 스택: Flutter, Dart, Material Design, Gemini CLI, Google Play Console
- ChatGPT 및 Gemini CLI 활용: 코드 작성, 디버깅, 개념 설명
- 앱 기능:
- 버튼 클릭으로 1~45 사이 중복 없는 6개 숫자 생성
- 카드 형태로 Android 화면에 표시
- 점진적 수정 후 화면 갱신
- 평가: 앱 완성도 및 Play Store 배포 성공 여부
- 준비물:
- 개인 노트북 (Flutter SDK 및 Gemini CLI 설치 가능)
- Google 계정 (Play Store 배포용)
- 참고 자료:
- Flutter 공식 문서: flutter.dev](https://flutter.dev))
- Google Play Console 배포 가이드