작성
·
352
답변 2
0
확인해보니 문제는 없어보이는데
api.getUsers()
이 부분이 오타가 있는지 확인하기 위해, 이 부분의 스크린샷과
이렇게 찍은 로그가 어떻게 나오는지 알려주실 수 있으신가요?
Log.e("MAINACTIVITY", response?.body()?.items.toString())
0
안녕하세요
말 그대로 데이터가 null인 경우입니다.
for(str in response?.body()?.items!!){
여기 위에서
Log.d("DATA", response?.body()?.items!!.toString())
으로 데이터를 한번 확인해보시면 null이 나올겁니다.
어느 주소로 api요청을 하셨는지 전체 코드를 공유해주시면 도움드릴 수 있을 것 같아요 :)
class MainActivity : AppCompatActivity() {
val BASE_URL = "https://api.github.com/search/"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val retrofit : Retrofit = Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
var api = retrofit.create(API::class.java)
var call: Call<UserData> = api.getUsers()
call.enqueue(object : Callback<UserData> {
override fun onResponse(call: Call<UserData>, response: Response<UserData>?) {
// 호출이 실패했을 때 실행되는 코드
Log.e("MAINACTIVITY", response?.body()?.items.toString())
for(str in response?.body()?.items!!){
Log.e("MAINACTIVITY", str.login)
}
}
override fun onFailure(call: Call<UserData>?, t: Throwable?) {
//호출이 성공했을 때 실행되는 코드
}
})
}
}
강의와 똑같이 코드를 실행하였습니다.