본문 바로가기

AOS - Kotlin

[android/kotlin] handler 데이터 여러개 전달하기

반응형
SMALL

핸들러에는 하나의 obj 만 전달돼서 json string으로 전달하기

 

val data1 = "data1"
val data2 = "data2"
val data3 = "data3"
val map = java.util.HashMap<String, String>()
map.put("data1", data1)
map.put("data2", data2)
map.put("data3", data3)
var data = Gson().toJson(map).toString()

var message: Message = Message.obtain()
message.what = 0
message.obj = data
handler.sendMessage(message)

 

 

 

받는 쪽

val handler = object : Handler() {
    override fun handleMessage(msg: Message) {
        super.handleMessage(msg)
        when (msg.what) {
            0 -> {
                val json = JSONObject(msg.obj.toString())
                val data1 = json.getString("data1")
                val data2 = json.getString("data2")
                val data3 = json.getString("data3")
                    ...
            }
        }
    }
}
반응형
LIST