Week1: SW Feature List - boostcampwm-2021/android05-boomerang GitHub Wiki

λ™μ˜μƒ λ©”λͺ¨ μ•±

μ•± μ„€λͺ…

1λΆ„ λ‚΄μ˜ μ˜μƒμ— λ©”λͺ¨λ₯Ό ν•˜λŠ” μ•±

기술적 도전

  • λ―Έλ””μ–΄ μ•±(MediaMuxer API 26λΆ€ν„° 적용된 κΈ°λŠ₯)

핡심 κΈ°λŠ₯

  • μ˜μƒμ— λ©”λͺ¨
    • μ•± λ‚΄ 데이터 폴더에 μ˜μƒ μ €μž₯
    • DB 내뢀에 μ˜μƒ filePath 쑴재

핡심 νŒŒμƒ κΈ°λŠ₯

  • λ©”μ‹œμ§€μ—μ„œ 받은 λ™μ˜μƒμ„ μΈν…νŠΈλ‘œ λ°›μ•„μ„œ λ©”λͺ¨ μž‘μ„±
  • λ©”λͺ¨λœ μ˜μƒμ„ λ‹€μ‹œ μΈν…νŠΈλ‘œ 곡유
  • 버전관리
    • λ³€κ²½ 사항에 λŒ€ν•΄ μƒˆλ‘œ 파일 생성
  • νŽΈμ§‘μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ κΈ°λŠ₯
    • μ˜μƒ 자λ₯΄κΈ°
    • 배속 쑰절
    • μ‹œκ°„λŒ€λ₯Ό μ‘°μ ˆν•  수 μžˆλ‹€
    • μœ„μΉ˜λ₯Ό λ³€κ²½ν•  수 μžˆλ‹€
    • 효과λ₯Ό λ§Œλ“€κΈ° (ν•„ν„°, 이λͺ¨ν‹°μ½˜, ...)
  • μ •λ ¬ κΈ°λŠ₯

DB

둜컬 νŒŒμΌμ— μ €μž₯(원본 λ™μ˜μƒμ„ λ‚΄λΆ€ μ €μž₯μ†Œμ— 볡사) File Path 관리, 생성일, μˆ˜μ •μΌ, 제λͺ©

화면ꡬ성

λ©”λͺ¨ 메인 ν™”λ©΄(λͺ©λ‘)

  • 썸넀일
  • μž¬μƒμ‹œκ°„
  • 제λͺ©
  • μ •λ ¬ κΈ°μ€€ λ‚ μ§œ 보여주기
  • 상단 μ•±λ°”
    • 타이틀 μ•± 이름
    • μ •λ ¬μ•„μ΄μ½˜
      • κΈ°μ€€ 2개
    • ν†±λ‹ˆλ°”ν€΄ (있으면)
    • κ²€μƒ‰μ•„μ΄μ½˜ (ν›„μˆœμœ„)
  • λ©”λͺ¨ λ‘±ν΄λ¦­μ‹œ μ‚­μ œ κΈ°λŠ₯
  • ν•˜λ‹¨ FAB둜 λ©”λͺ¨ μΆ”κ°€ λ²„νŠΌ

μ„€μ •ν™”λ©΄

  • μ˜€ν”ˆμ†ŒμŠ€ λΌμ΄μ„ μŠ€ (있으면)

λ™μ˜μƒ λ©”λͺ¨ μž‘μ„± κ³Όμ •

  • 메인 ν™”λ©΄μ—μ„œ μΆ”κ°€ λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ λ™μ˜μƒμ„ μ„ νƒν•˜λŠ” ν™”λ©΄μœΌλ‘œ 이동
  • 선택 μ™„λ£Œλ˜λ©΄ νŽΈμ§‘ν™”λ©΄μœΌλ‘œ λ“€μ–΄κ°€κ³  νŽΈμ§‘
  • νŽΈμ§‘μ™„λ£Œν•˜λ©΄ λ™μ˜μƒ 정보 μž‘μ„±ν™”λ©΄μœΌλ‘œ λ„˜μ–΄κ°„λ‹€

λ™μ˜μƒ 선택 ν™”λ©΄

  • κΈ°λ³Έ 가러리(λ™μ˜μƒλ§Œ κ°€λŠ₯ν•œμ§€? ν™•μΈν•΄μ„œ κ°€λŠ₯ν•˜λ©΄ λ™μ˜μƒ λͺ©λ‘λ§Œ κ°€μ Έμ˜€λ„λ‘)
  • 미래 κΈ°λŠ₯
    • μ§€κΈˆ λ™μ˜μƒ μ°μ–΄μ„œ κ°€μ Έμ˜€κΈ°(ν›„μˆœμœ„)

λ™μ˜μƒ λ©”λͺ¨ μž‘μ„± ν™”λ©΄

  • μ‹œκ°„ μœ„μΉ˜ 쑰절 (μ–΄λŠ λΆ€λΆ„μ—μ„œ λ©”λͺ¨λ₯Ό μ‹œμž‘ν• μ§€ / 끝낼지)
  • 그리기 (μ΅œμš°μ„ μˆœμœ„)
  • μ™„λ£Œ λ²„νŠΌμ„ λˆ„λ₯΄κ±°λ‚˜, 원본 λ™μ˜μƒμ΄ λλ‚˜λ©΄ μž„μ‹œ ν™”λ©΄μœΌλ‘œ 이동
  • 미래기λŠ₯
    • 배속 쑰절
    • λ‹€μ–‘ν•œ λΆ“
    • λ‹€μ–‘ν•œ 색

λ™μ˜μƒ νŽΈμ§‘ ν™”λ©΄(λ™μ˜μƒ λ©”λͺ¨ μž‘μ„± κΈ°λŠ₯ μ™„λ£Œ 된 ν›„)

  • μ‚¬μš© λ²„νŠΌ λˆ„λ₯΄λ©΄ 타이틀 μž…λ ₯받도둝 λ‹€μ΄μ–Όλ‘œκ·Έ μ‚¬μš©
  • 타이틀 μž…λ ₯ ν›„ ν™ˆν™”λ©΄μœΌλ‘œ 이동
  • 미래 κΈ°λŠ₯
    • 방금 μ“΄ λ©”λͺ¨ μž¬μƒ
    • 되돌리기 λ²„νŠΌμ„ λˆŒλŸ¬μ„œ λ’€λ‘œ λŒμ•„κ°€ λ‹€μ‹œ μž‘μ„±μ„ ν•˜κ±°λ‚˜
    • μ‚¬μš© λ²„νŠΌμ„ λˆŒλŸ¬μ„œ 이 μ˜μƒμ„ μ‚¬μš©ν•΄ λ‹€μŒ ν™”λ©΄μœΌλ‘œ λ„˜μ–΄κ°
    • (이후 ν•„ν„° κΈ°λŠ₯ μΆ”κ°€μ‹œ)ν•„ν„° λ²„νŠΌ λˆŒλŸ¬μ„œ ν•„ν„° μΆ”κ°€