๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ฑ| Android/โœ… | ์—๋Ÿฌํ•ด๊ฒฐ

[Android, Kotlin] java.lang.RuntimeException: Parcelable encountered IOException writing serializable object ํ•ด๊ฒฐ

by immgga 2022. 11. 28.

์˜ค๋žœ๋งŒ์— ํ•˜๋Š” ์˜ค๋ฅ˜ ํฌ์ŠคํŒ…

์˜ค๋ฅ˜ ๋‚ด์šฉ

 

์ด ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ data class์— ์žˆ๋‹ค.

์ € ์˜ค๋ฅ˜๋Š” ํ•„์ž๊ฐ€ putExtra๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋ ค๊ณ  ํ–ˆ์„๋•Œ, ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์˜€๋Š”๋ฐ

์˜ค๋ฅ˜์˜ ์ด์œ ๋ฅผ ๋ณด๋ฉด not serializable exception์ด๊ธฐ ๋•Œ๋ฌธ์—

ํ•ด๋‹น ํด๋ž˜์Šค์— serializable์ด ์ ์šฉ์ด ์•ˆ๋˜์–ด์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

WeatherListResponse.kt

package com.example.iwarm.data.response

import com.google.gson.annotations.SerializedName
import java.io.Serializable

data class WeatherListResponse(
    @SerializedName("main") val main: WeatherMainResponse,   // ๊ธฐ์˜จ ๋ฆฌ์ŠคํŠธ
    @SerializedName("weather") val weather: List<Weather2Response>, // ๋‚ ์”จ ๋ฆฌ์ŠคํŠธ
    @SerializedName("wind") val wind: WeatherWindResponse,   // ๋ฐ”๋žŒ ๋ฆฌ์ŠคํŠธ
    @SerializedName("clouds") val clouds: WeatherCloudResponse,
    @SerializedName("dt_txt") val dtTxt: String     // ๋‚ ์งœ
): Serializable

 

์‹ค์ œ๋กœ ํ•„์ž๋Š” data class์˜ ํƒ€์ž…์„ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ ์ ์šฉํ•ด ๋†จ์—ˆ๋Š”๋ฐ,

์ƒ์œ„ ํด๋ž˜์Šค์— Serializable์„ ์ ์šฉํ•ด ๋†“์•˜์œผ๋ฉด,ํ•˜์œ„ ํด๋ž˜์Šค์—๋„ Serializable์„ ์ ์šฉํ–ˆ๋”๋‹ˆ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

728x90