Home [TIL] 2022-11-09
Post
Cancel

[TIL] 2022-11-09

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


  • ์˜ค๋Š˜๋„ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ๊ณผ์ •์—์„œ ์—๋Ÿฌ๊ฐ€ ๋งŽ์ด ๋‚ฌ๋‹ค.
    • ์ €๋ฒˆ๊ณผ ๊ฐ™์ด ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์˜ค๋Š” ๊ฐ์ฒด์˜ ๋ณ€์ˆ˜๋ช…๊ณผ ๋‚ด๊ฐ€ ์„ค์ •ํ•œ Response ๋ณ€์ˆ˜๋ช…์ด ๋‹ฌ๋ผ์„œ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค.
    • ์ด๋ฒˆ์— ํ†ต์‹ ํ•˜๋ฉด์„œ ๊ตณ์ด ์„œ๋ฒ„์—์„œ ์ฃผ๋Š” ๊ฐ์ฒด์™€ Response๊ฐ€ ๊ฐ™์„ ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.
      1
      2
      3
      4
      
      {
        "name": "Bae",
        "age": 20
      }
      

      ์ด๋Ÿฐ ์‹์œผ๋กœ ์„œ๋ฒ„์—์„œ ๊ฐ์ฒด๋ฅผ ๋ณด๋‚ด๋ฉด ๋‚ด๊ฐ€ ๋งŒ๋“  Response ํด๋ž˜์Šค์— id์™€ name๋งŒ ์žˆ์œผ๋ฉด ๋‚˜๋จธ์ง€๋Š” ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •๋งŒ ํ•˜๋ฉด ํ†ต์‹ ์ด ๋œ๋‹ค.

      1
      2
      3
      4
      5
      6
      
      data class UserResponse(
          val id: Int = 0,
          val name: String? = "",
          val age: Int? = 0,
          val job: String? = ""
      )
      

      ์ด๋Ÿฌ๋ฉด name๊ณผ age๋Š” โ€œBaeโ€์™€ 20์œผ๋กœ ์ฑ„์›Œ์ง€๊ณ  ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์€ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์ฑ„์›Œ์ง„๋‹ค.

    • ๊ทธ๋ž˜์„œ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฐ’๋“ค์„ ํ•˜๋‚˜์˜ Response ๊ฐ์ฒด์— ๋‹ค ๋„ฃ๊ณ  Mapper ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฐ’๋“ค๋งŒ ๋ฝ‘์•„์˜ค๋„๋ก ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค.
      1
      2
      3
      4
      5
      
      fun mapperToUser(userResponse: UserResponse) =
          User(
              name = userResponse.name,
              age = userResponse.age
          )
      
  • ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์œ ์ €๋“ค์˜ ๋ฐ์ดํ„ฐ๋กœ ํ†ต๊ณ„๋ฅผ ๋‚ด์–ด ๊ทธ๋ž˜ํ”„๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.
    • ๊ทธ๋ž˜ํ”„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ MpAndroidChart๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๊ฑฐ๋Š” ๋””์ž์ธ์ด ๋„ˆ๋ฌด ๋‹จ์ˆœํ•ด์„œ AnyChart๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค.
    • ๊ทธ๋Ÿฐ๋ฐ github์— ๋‚˜์™€์žˆ๋Š” ์˜ˆ์ œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ๊ทธ๋ž˜ํ”„๊ฐ€ ํ™”๋ฉด์— ์•ˆ ๋œฌ๋‹ค..
  • ์•กํ‹ฐ๋น„ํ‹ฐ๋‚˜ ํ”„๋ž˜๊ทธ๋จผํŠธ์—์„œ ๋ทฐ๋ชจ๋ธ ๊ฐ์ฒด๋ฅผ ์„ ์–ธํ•˜์—ฌ ์‚ฌ์šฉํ•  ๋•Œ ๊ทธ๋ƒฅ ๋ณ€์ˆ˜๋ช…์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  this@MainFragment๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•˜์ž.
    • this@MainFragment.viewModel ์ด๋ ‡๊ฒŒ.
    • ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐ€๋” ์ธ์‹์„ ๋ชปํ•ด์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ ์™œ ๊ทธ๋Ÿฐ์ง€๋Š” ์•„์ง ๋ชจ๋ฅด๊ฒ ๋‹ค.
This post is licensed under CC BY 4.0 by the author.

[TIL] 2022-11-08

[TIL] 2022-11-10