레트로핏 사용해서 오픈 api 호출하면 앱이 그냥 꺼집니다. 인터넷과 책에서 하라는 대로 다 했습니다. 인터넷 권한도 설정했습니다. 버전은 2.9.0이고 어떤 에러도 뜨지 않습니다.
MainActivity.kt
private fun loadMembers() {
val retrofit = Retrofit.Builder()
.baseUrl(MemberAPI.base_domain)
.addConverterFactory(GsonConverterFactory.create())
.build()
val retrofitService = retrofit.create(MemberInterface::class.java)
retrofitService
.getMember(Constants.api_key)
.enqueue(object: Callback<Member> {
override fun onResponse(call: Call<Member>, response: Response<Member>) {
val members = response.body() as Member
var names = ""
for (member in members.response.body.items.item) {
names += "\n${member.empNm}"
}
binding.textView.text = names
}
override fun onFailure(call: Call<Member>, t: Throwable) {
Toast.makeText(baseContext, "실패", Toast.LENGTH_LONG).show()
}
})
}
Interface.kt
interface MemberInterface {
@GET("{api_key}&numOfRows=5&pageNo=1&_type=json")
fun getMember(@Path("api_key") Key: String): Call<Member>
}
https://youtube.com/shorts/CzdG7FluviQ?feature=share
화면 녹화한 유튜브 링크입니다.