Home [TIL] 2022-11-17
Post
Cancel

[TIL] 2022-11-17

๐Ÿ˜ฒ ์˜ค๋Š˜์˜ ๊ฐœ๋ฐœ ์ผ์ง€


  • ์‚ญ์ œ api๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์ œ๋Œ€๋กœ ์‚ญ์ œ๋์œผ๋ฉด ์ด์ „ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๊ฐ€๊ณ  ์‚ญ์ œ๊ฐ€ ๋˜์ง€ ์•Š์•˜์œผ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋ ค๊ณ  ํ–ˆ๋‹ค.

    • ๊ทธ๋Ÿฐ๋ฐ ์ž๊พธ ์‚ญ์ œ api๋กœ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ธฐ๋„ ์ „์— ์‚ญ์ œ๊ฐ€ ์ œ๋Œ€๋กœ ๋๋Š”์ง€ if๋ฌธ์„ ์ฒดํฌ๊ฐ€ ๋๋‹ค.
    • ์ผ๋‹จ ์ฝ”๋ฃจํ‹ด์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์ž˜๋ชปํ•ด์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์€ ์•Œ์•˜๋‹ค.
    • suspend์™€ ์ฝ”๋ฃจํ‹ด์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์—ˆ๋‹ค.
    • ์ฝ”๋ฃจํ‹ด ๋‚ด์— suspend ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ suspend ํ•จ์ˆ˜์—์„œ delay๋‚˜ ํ†ต์‹ ํ•˜๋Š” ์ฝ”๋“œ์™€ ๊ฐ™์ด ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํ™ฉ์ด ์˜ค๋ฉด ๊ฑฐ๊ธฐ์„œ ์ž ๊น ๋ฉˆ์ถ”๊ณ  ์ฝ”๋ฃจํ‹ด ๋ฐ”๊นฅ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      
      {
          CoroutineScope(Dispatchers.IO).launch {
              test() // 1
      
              Log.d(TAG, "1") // 3
              Log.d(TAG, "2") // 3
          }
          Log.d(TAG, "6") // 2
          Log.d(TAG, "7") // 2
          Log.d(TAG, "8") // 2
          Log.d(TAG, "9") // 2
      }
      
      
      private suspend fun test() {
          CoroutineScope(Dispatchers.IO).launch {
              delay(2000)
          }
      }
      

      ์œ„์™€ ๊ฐ™์ด suspend ๋‚ด์— delay๋ฅผ ๋งŒ๋‚˜๋ฉด ์ฝ”๋ฃจํ‹ด ๋ฐ”๊นฅ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ๋‹ค์‹œ ๋Œ์•„์˜จ๋‹ค.

  • ๊ทธ๋ฆฌ๊ณ  ์ปค์Šคํ…€ ๋‹ค์ด์–ผ๋กœ๊ทธ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ํ…Œ๋‘๋ฆฌ๋ฅผ ๋‘ฅ๊ธ€๊ฒŒ ํ•˜๋ ค๊ณ  background.xml์„ ๋งŒ๋“ค์–ด ์ ์šฉ์‹œ์ผฐ๋Š”๋ฐ ์ ์šฉ์ด ๋˜์ง€ ์•Š์•˜๋‹ค.
    • ๋‹ค์ด์–ผ๋กœ๊ทธ๋Š” ๊ธฐ๋ณธ ๋ฐฐ๊ฒฝ์ด ์กด์žฌํ•˜์—ฌ ํˆฌ๋ช…์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ–ˆ๋‹ค.
      1
      2
      3
      
      // Dialog๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋’ค์— ํฐ ์‚ฌ๊ฐํ˜• ๋ฐฐ๊ฒฝ์ด ์กด์žฌํ•˜๋ฏ€๋กœ, ๋ฐฐ๊ฒฝ์„ ํˆฌ๋ช…ํ•˜๊ฒŒ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ฉด
      // corner radius์˜ ์ ์šฉ์ด ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.
      window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
      
    • ๋‹ค์ด์–ผ๋กœ๊ทธ ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์œ„ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.
  • ์•ฑ 1์ฐจ ๋ฐฐํฌ๊ฐ€ ์„ฑ๊ณตํ–ˆ๋‹ค. ์ด์ œ ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด ์Šคํ† ์–ด์— ์˜ฌ๋ผ๊ฐ”๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”๋กœ ์นด์นด์˜ค Developers์—์„œ ์•ฑ์„ Biz์•ฑ์œผ๋กœ ๋ฐ”๊พผ ๋’ค ๋กœ๊ทธ์ธ ์‹œ ์ด๋ฉ”์ผ์„ ํ•„์ˆ˜ ํ•ญ๋ชฉ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋‹ค.
  • ํ˜„์žฌ ๋„ค์ด๋ฒ„๋„ ๊ฒ€์ˆ˜ ์š”์ฒญ์„ ์‹ ์ฒญํ–ˆ๊ณ  3~4์ผ ์†Œ์š”๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.
This post is licensed under CC BY 4.0 by the author.

[Android] ์Šคํฌ๋กค ๋ ํšจ๊ณผ ์—†์• ๋Š” ๋ฒ•

[TIL] 2022-11-18