Skip to content

Commit

Permalink
[Fix/#6] 홈화면 userList Retrofit 오류 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
ss99x2002 committed May 12, 2023
1 parent 99776b9 commit c114b95
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package org.android.go.sopt.adapter

import android.content.Context
import android.util.Log
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import org.android.go.sopt.data.Data
import org.android.go.sopt.data.ResponseUserListDto.Data
import org.android.go.sopt.databinding.ItemRepoBinding

class RepoRVAdapter(context: Context,_userList:List<Data>) : ListAdapter<Data, RepoRVAdapter.RepoViewHolder>(diffUtil) {
Expand All @@ -16,6 +17,7 @@ class RepoRVAdapter(context: Context,_userList:List<Data>) : ListAdapter<Data, R

override fun onBindViewHolder(holder: RepoViewHolder, position: Int) {
holder.bind(userList[position])
Log.e("hyeon",userList.toString())
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RepoViewHolder {
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/org/android/go/sopt/data/ApiFactory.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ object ApiFactory {

val retrofitUserList:Retrofit by lazy{
Retrofit.Builder()
.baseUrl("https://j17lt.csb.app/")
.baseUrl("https://reqres.in/")
.addConverterFactory(Json.asConverterFactory("application/json".toMediaType()))
.build()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import retrofit2.Call
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.Query

interface RetrofitService {
@POST("sign-up")
Expand All @@ -15,7 +16,4 @@ interface RetrofitService {
fun login(
@Body request: RequestLoginDto
): Call<ResponseLoginDto>

@GET("api/users?page=2")
fun getUserList() :Call<ResponseUserListDto>
}
44 changes: 22 additions & 22 deletions app/src/main/java/org/android/go/sopt/data/UserListDto.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,41 @@ package org.android.go.sopt.data
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class Data(
@SerialName("avatar")
val avatar: String,
@SerialName("email")
val email: String,
@SerialName("first_name")
val first_name: String,
@SerialName("id")
val id: Int,
@SerialName("last_name")
val last_name: String
)


@Serializable
data class ResponseUserListDto(
@SerialName("page")
val page: Int,
val status: Int,
@SerialName("per_page")
val per_page: Int,
@SerialName("support")
val support: Support,
@SerialName("total")
val total: Int,
@SerialName("total_pages")
val total_pages: Int,
val total_page: Int,
@SerialName("data")
val `data`: List<Data>
){
val data: List<Data>,
@SerialName("support")
val support: Support
) {
@Serializable
data class Data(
@SerialName("id")
val id: Int,
@SerialName("email")
val email: String,
@SerialName("first_name")
val first_name: String,
@SerialName("last_name")
val last_name: String,
@SerialName("avatar")
val avatar: String
)

@Serializable
data class Support(
@SerialName("url")
val url: String,
@SerialName("text")
val text: String,
@SerialName("url")
val url: String
)
}
10 changes: 10 additions & 0 deletions app/src/main/java/org/android/go/sopt/data/UserListService.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package org.android.go.sopt.data

import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Query

interface UserListService {
@GET("api/users")
fun getUserList(@Query("page") page:Int) : Call<ResponseUserListDto>
}
10 changes: 6 additions & 4 deletions app/src/main/java/org/android/go/sopt/fragment/HomeFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@ import androidx.recyclerview.widget.ConcatAdapter
import androidx.recyclerview.widget.GridLayoutManager
import org.android.go.sopt.adapter.RepoRVAdapter
import org.android.go.sopt.data.ApiFactory
import org.android.go.sopt.data.Data
import org.android.go.sopt.data.ApiFactory.retrofitUserList
import org.android.go.sopt.data.ResponseUserListDto.Data
import org.android.go.sopt.data.ResponseUserListDto
import org.android.go.sopt.data.RetrofitService
import org.android.go.sopt.data.UserListService
import org.android.go.sopt.databinding.FragmentHomeBinding
import retrofit2.Call
import retrofit2.Callback
Expand All @@ -38,19 +40,19 @@ class HomeFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setUserList()
initAdapter()
}

private fun setUserList() {
val retrofitService = ApiFactory.retrofitUserList.create(RetrofitService::class.java)
retrofitService.getUserList().enqueue(object : Callback<ResponseUserListDto> {
val retrofitService = retrofitUserList.create(UserListService::class.java)
retrofitService.getUserList(1).enqueue(object : Callback<ResponseUserListDto> {
override fun onResponse(
call: Call<ResponseUserListDto>,
response: Response<ResponseUserListDto>
) {
if (response.isSuccessful) {
userList = response.body()?.data!!
Log.e("hyeon",userList.toString())
initAdapter()
}

else {
Expand Down

0 comments on commit c114b95

Please sign in to comment.