๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

2022-10-25-TIL

๐Ÿ“ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉโ€‹

5.3.3 TodoProvider ์ž‘์„ฑํ•˜๊ธฐ (๋”๋ฏธ๋ฐ์ดํ„ฐ ๋ฒ„์ „)โ€‹

  • Provider๋Š” ๋„คํŠธ์›Œํฌ ๋“ฑ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์˜์—ญ๊ณผ์˜ ํ†ต์‹ ์„ ๋‹ด๋‹นํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

  • Todo ์•ฑ์—์„œ Provider ๊ธฐ๋Šฅ (CRUD)

    1. ๋ชจ๋“  Todo๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ
    2. ํŠน์ • Todo๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ
    3. Todo๋ฅผ ์ƒ์„ฑ
    4. Todo๋ฅผ ์ˆ˜์ •
    5. Todo๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ
  • AlertDialog๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์ด์–ผ๋กœ๊ทธ ํ˜•ํƒœ๋กœ ๋„์›Œ ๋ฐ”๋กœ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

  • showDialog ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

AlertDialog

  • ํ”Œ๋Ÿฌํ„ฐ์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ ๋‹ค์–‘ํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๋ชจ๋‘ ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด ๋ฒ”์šฉ์ ์œผ๋กœ ์ œ์ž‘๋˜์–ด ์žˆ์–ด, ์†์‰ฝ๊ฒŒ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    • ์œ„์ ฏ์— ์ ์šฉ๋œ ๋ถ€๋ถ„์„ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ์—์„œ๋„ ์ถฉ๋ถ„ํžˆ ์ ์šฉํ• ๋งŒํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. (์œ ๋‹ˆํ‹ฐ์˜ UI ๋ชจ๋“ˆ์„ ๋งŒ๋“ค๋•Œ ์ฐธ๊ณ ํ•œ๋‹ค๋˜์ง€)
    • ํ•˜์ง€๋งŒ ์ง€๋‚˜์น˜๊ฒŒ ๋ฒ”์šฉ์ ์ธ ๋ถ€๋ถ„์ด ์žˆ์–ด, ๋ถ„๋ช…ํžˆ ํ”Œ๋Ÿฌํ„ฐ ๋‚ด๋ถ€์—์„œ๋„ ์–ด๋Š์ •๋„์˜ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์„ ํ•ด์น˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋™์ผํ•˜๊ฒŒ ๊ฐˆ ํ•„์š”๋Š” ์—†์„ ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.
  • SimpleDialog๋กœ ๊ฐ„๋‹จํ•œ ๋‹ค์ด์–ผ๋กœ๊ทธ๋„ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ

    ํ”Œ๋Ÿฌํ„ฐ์˜ ๊ฒฝ์šฐ ์กฐ๊ธˆ๋งŒ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์œผ๋ฉด ๋Ž์Šค๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ๊ธธ์–ด์ง€๋Š” ๋ถ€๋ถ„์ด ์žˆ์–ด, ์ฝ”๋“œ๋ฅผ ์ฝ๊ธฐ ํž˜๋“ค์–ด ๋ณด์ธ๋‹ค. ๊ฒฐ๊ตญ ๋ชจ๋“  ๊ณตํ†ต๋œ ๋ถ€๋ถ„์€ ๋ณ„๋„์˜ ํ•˜์œ„ ์œ„์ ฏ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊พธ์ค€ํ•œ ๋ฆฌํŒฉํ„ฐ๋ง๋„ ์ค‘์š”ํ•ด ๋ณด์ธ๋‹ค.

๊ฒฐ๊ตญ ๋งŒ๋“ค๋‹ค ๋ณด๋ฉด ๋ง๋„ ์•ˆ๋˜๊ฒŒ ์ฝœ๋ฐฑ ์ง€์˜ฅ ๊ฐ™์€ ๊ด„ํ˜ธ์˜ ํ–ฅ์—ฐ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„.. Flutter bracket hell

ํ”Œ๋Ÿฌํ„ฐ์˜ ๊ฒฝ์šฐ ๋ญ”๊ฐ€ ์ด๋ฏธ ๋„ˆ๋ฌด ์ž˜ ๋งŒ๋“ค์–ด์ง„ ์œ„์ ฏ๋“ค์ด ๋งŽ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์œ„์ ฏ์„ ์ „๋ถ€ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์€ ๋ง์ด ์•ˆ๋˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค. ์‹ค์ œ ๊ฐœ๋ฐœ์‹œ ์ž…๋งž์— ๋งž๊ฒŒ ์ž์‹ ์ด ์›ํ•˜๋Š” ์œ„์ ฏ์„ ๊ณต์‹ api ๋ฌธ์„œ์—์„œ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•ด ๋ณด์ธ๋‹ค.

โ“ ์งˆ๋ฌธ ๋งŒ๋“ค๊ธฐโ€‹

  1. Provider๋Š” ๋ฌด์—‡์ธ๊ฐ€?
  2. AlertDialog๋Š” ๋ฌด์—‡์ธ๊ฐ€?
  3. showDialog์€ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?
  4. SimpleDialog๋Š” ๋ฌด์—‡์ธ๊ฐ€?

๐Ÿ‘ ์นญ์ฐฌโ€‹

  • ๋‹ค์–‘ํ•œ ์‹œ๋„๋ฅผ ๋งŽ์ด ํ•˜๊ณ  ์žˆ๋‹ค. fleet ์—๋””ํ„ฐ์—์„œ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๊ณ , space๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ๋ ˆํฌ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค.
  • ํ•ด๋‹น ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์žฅ๋‹จ์  ๋“ฑ์„ ํŒŒ์•…ํ•˜๊ณ  ๊ฐ€์žฅ ๊ฐœ๋ฐœํ•˜๊ธฐ ์‰ฌ์šด, ํ™˜๊ฒฝ์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•ด์•ผ ๋  ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.

โš ๏ธ ๊ฐœ์„ ํ•  ๊ฒƒโ€‹

  • ํ”Œ๋Ÿฌํ„ฐ ๊ด€๋ จ ํ•™์Šต ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณ ๋ฏผ์„ ํ•ด๋ด์•ผ ๋  ๊ฒƒ ๊ฐ™๋‹ค. (๊ธฐ์กด ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋‹ค๋ฅธ ํ•™์Šต ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•ด ๋ณด์ธ๋‹ค.)