From 743c51cb8d9e722a7398c72975da25526cc78bf4 Mon Sep 17 00:00:00 2001 From: hwaun123 <67179490+hwaun123@users.noreply.github.com> Date: Sun, 28 Nov 2021 11:34:18 +0900 Subject: [PATCH] [ADD] arts list retrofit connect arts list retrofit connect --- app/build.gradle | 6 ++++ app/src/main/AndroidManifest.xml | 3 ++ app/src/main/java/com/app/reart/Arts.kt | 11 ++++++- .../java/com/app/reart/ArtsRetrofitService.kt | 10 ++++++ .../java/com/app/reart/view/HomeFragment.kt | 32 +++++++++++++------ 5 files changed, 52 insertions(+), 10 deletions(-) create mode 100644 app/src/main/java/com/app/reart/ArtsRetrofitService.kt diff --git a/app/build.gradle b/app/build.gradle index 4464522..455d589 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,6 +42,12 @@ dependencies { implementation 'androidx.constraintlayout:constraintlayout:2.1.1' implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4.+' + + implementation 'com.google.code.gson:gson:2.8.7' + + implementation 'com.squareup.retrofit2:retrofit:2.6.4' + implementation 'com.squareup.retrofit2:converter-gson:2.6.4' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d6f780a..5112746 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,12 +2,15 @@ + + +) : Serializable \ No newline at end of file diff --git a/app/src/main/java/com/app/reart/ArtsRetrofitService.kt b/app/src/main/java/com/app/reart/ArtsRetrofitService.kt new file mode 100644 index 0000000..782fb69 --- /dev/null +++ b/app/src/main/java/com/app/reart/ArtsRetrofitService.kt @@ -0,0 +1,10 @@ +package com.app.reart + +import retrofit2.Call +import retrofit2.http.* + +interface ArtsRetrofitService { + @GET("arts") + fun getArtsList(): Call + +} \ No newline at end of file diff --git a/app/src/main/java/com/app/reart/view/HomeFragment.kt b/app/src/main/java/com/app/reart/view/HomeFragment.kt index 104a0e2..aded3c0 100644 --- a/app/src/main/java/com/app/reart/view/HomeFragment.kt +++ b/app/src/main/java/com/app/reart/view/HomeFragment.kt @@ -1,6 +1,7 @@ package com.app.reart.view import android.os.Bundle +import android.util.Log import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View @@ -8,9 +9,12 @@ import android.view.ViewGroup import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.viewpager2.widget.ViewPager2 -import com.app.reart.Arts -import com.app.reart.ArtsAdapter -import com.app.reart.R +import com.app.reart.* +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory class HomeFragment : Fragment() { @@ -27,13 +31,23 @@ class HomeFragment : Fragment() { rvHomeArtwork.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL,false) rvHomeArtwork.setHasFixedSize(true) - var artWorkList = arrayListOf(Arts(1,"페트병으로 만든 돌고래","Moon", "20:00",R.drawable.after5), - Arts(1,"깡통강아지","hwaun", "2021년 11월 16일 15시 30분",R.drawable.after4), - Arts(1,"타이어 쇠똥구리","jjo77", "2021년 11월 16일 15시 30분",R.drawable.after3), - Arts(1,"단추로 만든 아인슈타인","read", "2021년 11월 16일 15시 30분",R.drawable.after2), - Arts(1,"페트병 선인장","user123", "2021년 11월 16일 15시 30분",R.drawable.after1),) + val retrofit: Retrofit = Retrofit.Builder() + .baseUrl("http://27.96.135.11:3000/") + .addConverterFactory(GsonConverterFactory.create()) + .build() - rvHomeArtwork.adapter = ArtsAdapter(artWorkList) + val service = retrofit.create(ArtsRetrofitService::class.java) + + service.getArtsList().enqueue(object : Callback { + override fun onResponse(call: Call, response: Response) { + var artWorkList = response.body()?.data + rvHomeArtwork.adapter = ArtsAdapter(artWorkList as ArrayList) + } + + override fun onFailure(call: Call, t: Throwable) { + Log.d("로그","Home False") + } + }) return v }