안드로이드로 메세지 API 사용 시 uuid 얻는 법 다시 질문 드립니다

image

저번에 친구의 uuid 얻는 법에 대해서 질문 드렸습니다. 그런데 보내주신 답변과 링크를 봐도 감이 안 잡혀서 다시 질문 드립니다.

  1. 우선 첫 번째로 예시를 따라하는 도중 발생한 에러에 관련된 질문인데요, 위의 코드는 예시를 그대로 따라한 것인데 빨간색 글씨로 startForResult와 PickerItem에 오류가 뜹니다. 각각 어떻게 바꿔주어야 하나요? 오류 메세지는 Unresolved reference 라고 뜹니다…

  2. 예시처럼 친구를 선택하는 것 없이 그냥 바로 로그인 하면 친구 목록을 불러오고 바로 uuid를 얻어서 그 친구에게 메세지를 보내주는 것을 만들려고 하는데 저번에 알려주신 링크를 보고 uuid를 얻기 위해서 Friend 클래스를 이용해 보았습니다. 그런데 사진과 같이 변수에 빨간색 글씨로 에러가 납니다. 변수 입력을 어떻게 해주어야 하나요? friends 에 친구 목록이 들어가 있다고 하셨는데 거기서 id ,uuid 등을 받아서 Friend 클래스에 넣어주고 myFriend 라는 것을 새로 만들어서 거기서 uuid만 따로 뽑아오도록 했습니다.

아직 uuid를 어떻게 뽑아와야 할 지 모르겠네요 ㅠㅠ

// 서비스에 상황에 맞게 메시지 보낼 친구의 UUID를 가져오세요.
// 이 샘플에서는 친구 목록을 화면에 보여주고 체크박스로 선택된 친구들의 UUID 를 수집하도록 구현했습니다.

                    MainActivity.startForResult(
                            this,
                            friends.elements.map { PickerItem(it.uuid, it.profileNickname, it.profileThumbnailImage) }
                    ) { selectedItems ->
                        if (selectedItems.isEmpty()) return@startForResult
                        Log.d("결과", "선택된 친구:\n${selectedItems.joinToString("\n")}")


                        //임의로 제가 코드를 만들어 보았는데 Friend 안에 어떻게 변수를 넣어야 할 지 모르겠습니다....
                        val myFriend : Friend = Friend(friends.id,friends.uuid,friends.profileNickname,friends.profileThumbnailImage)
                        val receiveruuid = myFriend.uuid

사진으로는 잘 안 보이는 것 같아 코드도 새로 넣었습니다!

  1. startForResult의 오류
    문제가 생기는 이유는 정확히는 알수 없으나(제가 안드로이드 담당자가 아니라서) 원하시는 기능을 구현할때는 없어도 되는 부분 입니다.

  2. 친구 목록에서 uuid 얻기

이 부분 전체가 친구 선택하는 ui를 구성하는 부분입니다.
이 부분은 친구 목록 api의 callback에 해당하는 부분이기 때문에 친구 목록은 이미 friends에 얻어온 상태입니다.
friends.elements가 Friends객체의 리스트이기 때문에 따로 구성할 필요가 없으며
코드로 간단히 표현하면 다음과 같습니다.

 // 카카오톡 친구 목록 가져오기
TalkApiClient.instance.friends { friends, error ->
 // ... 중략(에러 확인 및 친구 목록이 비었는지 확인) ...    

  val recievedUuid = friends.elements.map(friend -> friend.uuid) 

  ... (하략)...

친구 목록에서 uuid만 얻어오는 부분을 더 간단히 하면 아래와 같이 쓸 수도 있습니다.

friends.elements.map(it.uuid)

1개의 좋아요

안녕하세요?
1번 질문 관련 해서
에러 부분은 MainActivity 구현 하신 코드에 문제가 있는 것 같은데요

https://developers.kakao.com/docs/latest/ko/sdk-download/android

Android SDK Full Source & Samples 에서 다운 받으셔서 sample-common package 에서 예제 코드
확인 부탁 드립니다.

1개의 좋아요