개괄적인 내용 (테이블)

주차목표주요 내용실습숙제
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로 버튼을 만드는 코드 작성해줘)
      • 코드 실행 및 결과 확인
  • 숙제:
    • Flutter 프로젝트를 생성하고 Android 에뮬레이터에서 실행 확인
  • 참고 자료:

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를 활용한 중복 제거 및 숫자 생성 로직 이해
    • 실습 (40분)
      • Gemini CLI로 생성한 코드를 Flutter 앱에 통합
      • 버튼 클릭 시 콘솔에 6개 숫자 출력 (예: print(numbers);)
      • ChatGPT로 코드 디버깅 요청 (예: "Dart 코드에서 null 에러 해결 방법")
  • 숙제:
    • Gemini CLI로 생성된 숫자를 오름차순 정렬하는 코드 추가 (예: numbers.sort();)
    • ChatGPT로 숫자를 화면에 표시하는 Flutter 코드 작성 시도 (예: Text 위젯 사용)
  • 참고 자료:

3주차: Android 앱 개발

  • 목표: Android 앱의 UI를 구현하고 점진적 수정으로 화면을 갱신하며 사용자 경험을 개선한다.
  • 시간: 월요일 저녁 7시 (2시간)
  • 내용:
    • Android 앱 UI 기초 (30분)
      • Material Design 위젯: Text, ElevatedButton, Card
      • 기본 레이아웃: Column, Row, Container
      • Android 스타일링: 색상, 패딩, 폰트 크기 설정
    • UI 및 기능 구현 (50분)
      • Gemini CLI로 UI pinchedButton UI 코드 작성 (예: gemini-cli "Flutter로 버튼 클릭 시 1~45 사이 6개 숫자를 카드 형태로 표시하는 Android 앱 코드")
      • ChatGPT로 UI 개선 요청 (예: "Flutter에서 버튼 색상과 크기 변경 코드")
      • StatefulWidget을 사용한 화면 갱신 로직 (버튼 클릭 시 번호 재생성)
    • 실습 (40분)
      • Gemini CLI와 ChatGPT로 생성한 UI 코드 적용
      • 점진적 수정 (예: 카드 색상, 텍스트 크기, 버튼 스타일) 후 Android 에뮬레이터에서 화면 갱신 테스트
  • 숙제:
    • Gemini CLI로 UI 개선 코드 작성 (예: 배경 색상, 버튼 둥글게)
    • 번호 생성 기록을 List로 저장하는 기능 시도 (ChatGPT 활용 가능)
  • 참고 자료:

4주차: Play Store 배포

  • 목표: Android 앱을 최적화하고 Google Play Store에 배포한다.
  • 시간: 월요일 저녁 7시 (2시간)
  • 내용:
    • 앱 최적화 (30분)
      • 반응형 레이아웃으로 다양한 Android 화면 크기 대응 (예: MediaQuery 사용)
      • UI/UX 점검: 버튼 크기, 텍스트 가독성, 간격 최적화
      • Gemini CLI로 성능 개선 요청 (예: gemini-cli "Flutter Android 앱 성능 최적화 방법")
    • Play Store 배포 (50분)
      • Flutter 앱을 Android App Bundle(AAB)로 빌드 (예: flutter build appbundle)
      • Google Play Console 계정 설정 및 앱 등록
      • Play Store 요구사항: 앱 설명, 스크린샷, 512x512 아이콘 이미지 등록
      • ChatGPT로 빌드 에러 디버깅 (예: "Flutter AAB 빌드 에러 해결 방법")
    • 실습 및 마무리 (40분)
      • 앱 빌드 및 Android 실 기기 테스트
      • Google Play Console에 앱 업로드 및 배포 테스트
      • 참가자 앱 시연 및 피드백 공유
  • 숙제:
    • Play Store 배포 링크 공유 및 피드백 작성
    • Gemini CLI 또는 ChatGPT로 추가 기능 탐색 (예: 번호 공유 버튼, share_plus 패키지 활용)
  • 참고 자료:

추가 정보

  • 기술 스택: 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 배포용)
  • 참고 자료: