diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 0000000..7cb959b
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,8 @@
+### ✅이슈번호
+- 샵버튼으로 연동
+
+### ✅변경 사항
+- 예시
+
+### ✅참고 사항
+- 따로 참고사항 없으면 지워도 됩니다
diff --git a/.gitignore b/.gitignore
index aa724b7..b34b5a2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,15 +1,138 @@
-*.iml
-.gradle
-/local.properties
-/.idea/caches
-/.idea/libraries
-/.idea/modules.xml
-/.idea/workspace.xml
-/.idea/navEditor.xml
-/.idea/assetWizardSettings.xml
+# Created by https://www.toptal.com/developers/gitignore/api/kotlin,androidstudio
+# Edit at https://www.toptal.com/developers/gitignore?templates=kotlin,androidstudio
+
.DS_Store
-/build
/captures
-.externalNativeBuild
.cxx
+
+### Kotlin ###
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+replay_pid*
+
+### AndroidStudio ###
+# Covers files to be ignored for android development using Android Studio.
+
+# Built application files
+*.apk
+*.ap_
+*.aab
+
+# Files for the ART/Dalvik VM
+*.dex
+
+# Java class files
+
+# Generated files
+bin/
+gen/
+out/
+
+# Gradle files
+.gradle
+.gradle/
+build/
+
+# Signing files
+.signing/
+
+# Local configuration file (sdk path, etc)
local.properties
+
+# Proguard folder generated by Eclipse
+proguard/
+
+# Log Files
+
+# Android Studio
+/build
+/*/build/
+/*/local.properties
+/*/out
+/*/*/build
+/*/*/production
+captures/
+.navigation/
+*.ipr
+*~
+*.swp
+
+# Keystore files
+*.jks
+*.keystore
+
+# Google Services (e.g. APIs or Firebase)
+# google-services.json
+
+# Android Patch
+gen-external-apklibs
+
+# External native build folder generated in Android Studio 2.2 and later
+.externalNativeBuild
+
+# NDK
+obj/
+
+# IntelliJ IDEA
+*.iml
+*.iws
+/out/
+
+# User-specific configurations
+.idea/
+
+# Legacy Eclipse project files
+.classpath
+.project
+.cproject
+.settings/
+
+# Mobile Tools for Java (J2ME)
+
+# Package Files #
+
+# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
+
+## Plugin-specific files:
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Mongo Explorer plugin
+.idea/mongoSettings.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+### AndroidStudio Patch ###
+
+!/gradle/wrapper/gradle-wrapper.jar
+
+# End of https://www.toptal.com/developers/gitignore/api/kotlin,androidstudio
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 26d3352..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index fb7f4a8..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
deleted file mode 100644
index 19cc484..0000000
--- a/.idea/deploymentTargetDropDown.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
deleted file mode 100644
index a2d7c21..0000000
--- a/.idea/gradle.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 97d0c21..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 70e6b9e..5644e59 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,6 +1,7 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
+ id 'kotlin-android-extensions'
}
android {
@@ -33,6 +34,13 @@ android {
kotlinOptions {
jvmTarget = '1.8'
}
+
+ // 뷰바인딩 사용
+ buildFeatures {
+ viewBinding = true
+ }
+
+ configurations { implementation.exclude group: 'org.jetbrains', module: 'annotations' }
}
dependencies {
@@ -41,7 +49,47 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation 'androidx.room:room-common:2.3.0'
+ implementation 'androidx.room:room-compiler:2.3.0'
+ implementation 'com.google.ar.sceneform:filament-android:1.17.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+
+ // 카카오 로그인
+ implementation "com.kakao.sdk:v2-user:2.11.0"
+
+ // 카카오 친구, 메세지
+ implementation "com.kakao.sdk:v2-talk:2.11.0"
+
+ // glide 라이브러리
+ implementation 'com.github.bumptech.glide:glide:4.12.0'
+
+ //circleView
+ implementation 'de.hdodenhof:circleimageview:3.1.0'
+
+ //okhttp
+ implementation 'com.squareup.okhttp3:okhttp:3.12.6'
+ implementation 'com.squareup.okhttp3:mockwebserver:3.12.1'
+
+
+ // stomp
+ implementation 'com.github.NaikSoftware:StompProtocolAndroid:1.6.6'
+ //rx
+ implementation 'io.reactivex.rxjava2:rxjava:2.2.5'
+ implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
+
+ /* Coroutine
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0'
+ implementation 'com.squareup.retrofit2:retrofit:2.6.0'
+ implementation 'com.squareup.retrofit2:converter-gson:2.6.0'
+ implementation "com.squareup.okhttp3:logging-interceptor:4.5.0"
+ implementation 'de.hdodenhof:circleimageview:3.1.0'
+ implementation 'com.squareup.retrofit2:retrofit:2.9.0'
+ implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
+ implementation 'com.google.code.gson:gson:2.8.6'
+ implementation 'com.squareup.okhttp3:okhttp:4.9.1'
+ implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'
+
+ */
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1605d5..3d6ab9b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,25 +3,107 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.umc.project.mbtree">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tools:targetApi="31"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/project/mbtree/data/Chat.kt b/app/src/main/java/com/umc/project/mbtree/data/Chat.kt
new file mode 100644
index 0000000..d2cb9fc
--- /dev/null
+++ b/app/src/main/java/com/umc/project/mbtree/data/Chat.kt
@@ -0,0 +1,10 @@
+package com.umc.project.mbtree.data
+
+data class Chat(
+ var content:String,
+ var time:String,
+ var viewType:Int, //1:왼쪽 2:오른쪽 3:센터
+ var question: String? = "",
+ var answer1: String? = "",
+ var answer2: String? = ""
+)
diff --git a/app/src/main/java/com/umc/project/mbtree/data/ChatResponse.kt b/app/src/main/java/com/umc/project/mbtree/data/ChatResponse.kt
new file mode 100644
index 0000000..6a50264
--- /dev/null
+++ b/app/src/main/java/com/umc/project/mbtree/data/ChatResponse.kt
@@ -0,0 +1,66 @@
+package com.umc.project.mbtree.data
+
+data class MatchResponse (
+ val responseResult: String,
+ val chatRoomId: Int,
+ val userId: Int
+)
+
+data class ChatList(
+ val isSuccess: Boolean,
+ val code: Int,
+ val message: String,
+ val result: ArrayList
+)
+
+data class ChatListResult(
+ val id: Int,
+ val user1: User?,
+ val user2: User?,
+ val quit: Int
+)
+
+data class ChatContent(
+ val isSuccess: Boolean,
+ val code: Int,
+ val message: String
+)
+
+data class Quiz(
+ val isSuccess: Boolean,
+ val code: Int,
+ val message: String,
+ val result: QuizResult
+)
+
+data class QuizResult(
+ val id: Int,
+ val quiz: String,
+ val keyword: String,
+ val answer1: String,
+ val answer2: String
+)
+
+data class QuizAnswer(
+ val isSuccess: Boolean,
+ val code: Int,
+ val message: String,
+ val result: QuizAnswerResult?
+){
+ data class QuizAnswerResult(
+ val id:Int,
+ val user1: String,
+ val user2: String,
+ val quiz: String,
+ val quilt: String,
+ val answer1: Int,
+ val answer2: Int
+ )
+}
+
+data class QuizAnswerConfirm(
+ val isSuccess: Boolean,
+ val code: Int,
+ val message: String,
+ val result: Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/project/mbtree/data/LetterPaper.kt b/app/src/main/java/com/umc/project/mbtree/data/LetterPaper.kt
new file mode 100644
index 0000000..8c0d1aa
--- /dev/null
+++ b/app/src/main/java/com/umc/project/mbtree/data/LetterPaper.kt
@@ -0,0 +1,8 @@
+package com.umc.project.mbtree.data
+
+data class LetterPaper(
+ var letterPaperImg: Int? = null ,
+ var paperName: String,
+ var price: String,
+ var priceValue : Int
+)
diff --git a/app/src/main/java/com/umc/project/mbtree/data/User.kt b/app/src/main/java/com/umc/project/mbtree/data/User.kt
index bb4c5e9..aeca9fe 100644
--- a/app/src/main/java/com/umc/project/mbtree/data/User.kt
+++ b/app/src/main/java/com/umc/project/mbtree/data/User.kt
@@ -1,7 +1,27 @@
package com.umc.project.mbtree.data
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+
+
+//@Entity(tableName = "UserTable")
+//data class User(
+// val userId : Int,
+// var name : String,
+// var mbti: String
+//){
+// @PrimaryKey(autoGenerate = true) var id:Int = 0
+//}
+
+
data class User(
- val id:Int,
+ val id: Int,
+ var uuid: String?,
var name: String,
- var userToken: String
+ var email: String,
+ var mbti: String,
+ var location: String,
+ var token: String,
+ var point: Int,
+ var createDate: String?
)
diff --git a/app/src/main/java/com/umc/project/mbtree/remote/ChatRetrofitInterface.kt b/app/src/main/java/com/umc/project/mbtree/remote/ChatRetrofitInterface.kt
new file mode 100644
index 0000000..994eb94
--- /dev/null
+++ b/app/src/main/java/com/umc/project/mbtree/remote/ChatRetrofitInterface.kt
@@ -0,0 +1,41 @@
+package com.umc.project.mbtree.remote
+
+import com.umc.project.mbtree.data.*
+import retrofit2.Call
+import retrofit2.http.GET
+import retrofit2.http.POST
+import retrofit2.http.Query
+
+interface ChatRetrofitInterface {
+
+ //랜덤채팅 매칭시작
+ @GET("chat/join")
+ fun matchingChat(@Query("userId")userId: Int): Call
+
+ //채팅 리스트 출력
+ @GET("chat/list")
+ fun getChatListById(@Query("userId")userId: Int): Call
+
+ //채팅방 내용 불러오기
+ @GET("chat/list")
+ fun getChatContent(
+ @Query("userId")userId: Int,
+ @Query("roomId")roomId:Int
+ ): Call
+
+ //퀴즈 가져오기
+ @GET("chat/quiz")
+ fun getQuiz(@Query("roomId")roomId: Int): Call
+
+ //퀴즈 정답 입력
+ @GET("chat/answerQuiz")
+ fun setQuizAnswer(
+ @Query("roomId")roomId: Int,
+ @Query("userId")userId: Int,
+ @Query("answer")answer: Int
+ ): Call
+
+ //퀴즈 정답 비교
+ @GET("chat/checkAnswer")
+ fun getQuizAnswer(@Query("roomId")roomId: Int): Call
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/project/mbtree/remote/NetworkModule.kt b/app/src/main/java/com/umc/project/mbtree/remote/NetworkModule.kt
new file mode 100644
index 0000000..cbd6ae6
--- /dev/null
+++ b/app/src/main/java/com/umc/project/mbtree/remote/NetworkModule.kt
@@ -0,0 +1,31 @@
+package com.umc.project.mbtree.remote
+
+import com.google.gson.GsonBuilder
+import okhttp3.OkHttpClient
+import okhttp3.logging.HttpLoggingInterceptor
+import retrofit2.Retrofit
+import retrofit2.converter.gson.GsonConverterFactory
+
+const val BASE_URL = "https://mbtree.site/"
+
+var gson = GsonBuilder().setLenient().create()
+
+//레트로핏 객체 반환
+fun getRetrofit(): Retrofit{
+
+ val okHttpClient: OkHttpClient by lazy {
+ OkHttpClient.Builder()
+ .addInterceptor(HttpLoggingInterceptor().apply {
+ level = HttpLoggingInterceptor.Level.BODY
+ })
+ .build()
+ }
+
+ val retrofit = Retrofit.Builder()
+ .baseUrl(BASE_URL)
+ .addConverterFactory(GsonConverterFactory.create(gson))
+ .client(okHttpClient)
+ .build()
+
+ return retrofit
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/project/mbtree/view/FriendFragment.kt b/app/src/main/java/com/umc/project/mbtree/view/FriendFragment.kt
deleted file mode 100644
index 6c53524..0000000
--- a/app/src/main/java/com/umc/project/mbtree/view/FriendFragment.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.umc.project.mbtree.view
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import com.umc.project.mbtree.databinding.FragmentFriendBinding
-
-class FriendFragment: Fragment() {
-
- lateinit var binding: FragmentFriendBinding
-
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View? {
- binding = FragmentFriendBinding.inflate(inflater, container,false)
-
- //로직 작성
-
- return binding.root
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/FriendTreeFragment.kt b/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/FriendTreeFragment.kt
new file mode 100644
index 0000000..6ee566f
--- /dev/null
+++ b/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/FriendTreeFragment.kt
@@ -0,0 +1,62 @@
+package com.umc.project.mbtree.view.LetterPaper
+
+import android.content.Intent
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import com.umc.project.mbtree.R
+import com.umc.project.mbtree.databinding.FragmentFriendTreeBinding
+import kotlinx.android.synthetic.main.activity_select_mbti.*
+
+class FriendTreeFragment: Fragment() {
+
+ lateinit var binding: FragmentFriendTreeBinding
+
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ binding = FragmentFriendTreeBinding.inflate(inflater, container, false)
+
+ val transaction = parentFragmentManager.beginTransaction()
+ binding.btWrite.setOnClickListener {
+ transaction.replace(R.id.fl_main, LetterPaperDialogFragment())
+ transaction.addToBackStack(null)
+ transaction.commit()
+
+ // 시도1
+// val intent = Intent(this, LetterPaperActivity::class.java)
+// startActivity(intent)
+
+ // 시도2
+// val intent = Intent(getActivity(),LetterPaperActivity::class.java); //fragment라서 activity intent와는 다른 방식
+// intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
+// startActivity(intent);
+
+
+ // 시도3
+// val intent = Intent(context, LetterPaperActivity::class.java)
+// startActivity(intent)
+
+
+ }
+
+// binding.btWrite.setOnClickListener {
+// //Dialog 만들기
+// val mDialogView = LayoutInflater.from(this).inflate(R.layout.fragment_letter_paper_dialog,null)
+// val mBuilder = AlertDialog.Builder(this)
+// .setView(mDialogView)
+// .setTitle("letterPaper")
+//
+// val mAlertDialog = mBuilder.show()
+// }
+
+
+
+ return binding.root
+ }
+ }
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/LetterPaperDialogFragment.kt b/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/LetterPaperDialogFragment.kt
new file mode 100644
index 0000000..c61ae34
--- /dev/null
+++ b/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/LetterPaperDialogFragment.kt
@@ -0,0 +1,73 @@
+package com.umc.project.mbtree.view.LetterPaper
+
+import android.app.Application
+import android.content.Context
+import android.graphics.Insets.add
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+
+import androidx.fragment.app.DialogFragment
+import com.umc.project.mbtree.R
+import com.umc.project.mbtree.data.LetterPaper
+import com.umc.project.mbtree.databinding.FragmentFriendTreeBinding
+import com.umc.project.mbtree.databinding.FragmentLetterPaperDialogBinding
+
+class LetterPaperDialogFragment: DialogFragment() {
+
+ lateinit var binding: FragmentLetterPaperDialogBinding
+ lateinit var fContext : Context
+
+ override fun onAttach(context: Context) {
+ super.onAttach(context)
+ fContext = context
+ }
+
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ binding = FragmentLetterPaperDialogBinding.inflate(inflater, container, false)
+
+
+
+ //dummy data
+ var datas = ArrayList()
+ datas.apply {
+ add(LetterPaper(R.drawable.letter_morning,"그날의 아침", "Free",0))
+ add(LetterPaper(R.drawable.letter_cliff,"밤 언덕", "50p" ,50))
+ add(LetterPaper(R.drawable.letter_night,"사막의 밤", "Free",0))
+ add(LetterPaper(R.drawable.letter_night,"꽃밭", "50P",50))
+ }
+
+// //그리드뷰에 어댑터 붙이기
+// val fAdaper = FriendRVAdapter(datas)
+// binding.rvFriendList.adapter = fAdaper
+// binding.rvFriendList.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
+//
+// fAdaper.setMyItemClickListener(object: FriendRVAdapter.MyItemClickListener {
+// // 클릭되었을 때, FriendFragment로 이동하기
+// override fun onItemClick() {
+// (context as MainActivity). supportFragmentManager.beginTransaction()
+// .replace(R.id.fl_main , FriendTreeFragment())
+// .commitAllowingStateLoss()
+// }
+// })
+
+
+
+
+
+ // Adapter 추가
+ val letterPaperGVAdapter = LetterPaperGVAdapter(context, datas)
+ binding.gvLetterPaper.adapter = letterPaperGVAdapter
+
+
+
+ return binding.root
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/LetterPaperGVAdapter.kt b/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/LetterPaperGVAdapter.kt
new file mode 100644
index 0000000..59085ac
--- /dev/null
+++ b/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/LetterPaperGVAdapter.kt
@@ -0,0 +1,76 @@
+package com.umc.project.mbtree.view.LetterPaper
+
+import android.annotation.SuppressLint
+import android.content.Context
+import android.content.Intent
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.BaseAdapter
+import android.widget.GridView
+import androidx.recyclerview.widget.RecyclerView
+import com.umc.project.mbtree.R
+import com.umc.project.mbtree.data.LetterPaper
+import com.umc.project.mbtree.data.User
+import com.umc.project.mbtree.databinding.ItemLetterPaperBinding
+import com.umc.project.mbtree.databinding.ItemListBinding
+import com.umc.project.mbtree.view.friend.FriendRVAdapter
+import kotlinx.android.synthetic.main.item_letter_paper.view.*
+import kotlinx.android.synthetic.main.item_mbti.view.*
+
+class LetterPaperGVAdapter(val context: Context?, private val letterPaperList:ArrayList) : BaseAdapter() {
+
+ @SuppressLint("ViewHolder")
+
+ // 포지션 값을 가지고 있으므로 여기서 onclick이벤트 작성
+ override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
+// val mbti:String = letterPaperList[position]
+ val inflater = context!!.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
+
+ val lpView : View = inflater.inflate(R.layout.item_letter_paper, null)
+ lpView.ib_letter_paper.setImageResource(letterPaperList[position].letterPaperImg!!)
+ lpView.tv_letter_paper_name.text = letterPaperList[position].paperName
+ lpView.tv_letter_price.text = letterPaperList[position].price
+
+
+
+ lpView.ib_letter_paper.setOnClickListener {
+ val intent = Intent(context, LetterWriteFragment::class.java)
+// intent.putExtra("mbti", mbti)
+ context!!.startActivity(intent)
+ }
+ return lpView
+ }
+
+
+ fun onBindViewHolder(holder:LetterPaperGVAdapter.ViewHolder, position: Int)
+ {
+ holder.bind(letterPaperList[position])
+ }
+
+
+
+ override fun getItem(position: Int): Any {
+ return position
+ }
+
+ override fun getItemId(position: Int): Long {
+ return position.toLong()
+ }
+
+ override fun getCount(): Int {
+ return letterPaperList.size
+ }
+
+
+
+ inner class ViewHolder(val binding: ItemLetterPaperBinding) : RecyclerView.ViewHolder(binding.root){
+ fun bind(lp: LetterPaper){
+ //binding.ivListProfile
+ binding.ibLetterPaper.setImageResource(lp.letterPaperImg!!)
+ binding.tvLetterPaperName.text = lp.paperName
+ binding.tvLetterPrice.text = lp.price
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/umc/project/mbtree/view/ChattingFragment.kt b/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/LetterWriteFragment.kt
similarity index 50%
rename from app/src/main/java/com/umc/project/mbtree/view/ChattingFragment.kt
rename to app/src/main/java/com/umc/project/mbtree/view/LetterPaper/LetterWriteFragment.kt
index 48b2c4f..555dd22 100644
--- a/app/src/main/java/com/umc/project/mbtree/view/ChattingFragment.kt
+++ b/app/src/main/java/com/umc/project/mbtree/view/LetterPaper/LetterWriteFragment.kt
@@ -1,25 +1,27 @@
-package com.umc.project.mbtree.view
+package com.umc.project.mbtree.view.LetterPaper
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
-import com.umc.project.mbtree.databinding.FragmentChattingBinding
+import com.umc.project.mbtree.databinding.FragmentLetterWriteBinding
-class ChattingFragment: Fragment() {
-
- lateinit var binding: FragmentChattingBinding
+class LetterWriteFragment : Fragment(){
+ lateinit var binding: FragmentLetterWriteBinding
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
- ): View? {
- binding = FragmentChattingBinding.inflate(inflater, container, false)
+ ): View?
+ {
+
+ binding = FragmentLetterWriteBinding.inflate(inflater, container,false)
- //로직 작성
return binding.root
}
-}
\ No newline at end of file
+
+}
+
diff --git a/app/src/main/java/com/umc/project/mbtree/view/Login/AfterLoginActivity.kt b/app/src/main/java/com/umc/project/mbtree/view/Login/AfterLoginActivity.kt
new file mode 100644
index 0000000..66f86a6
--- /dev/null
+++ b/app/src/main/java/com/umc/project/mbtree/view/Login/AfterLoginActivity.kt
@@ -0,0 +1,106 @@
+package com.umc.project.mbtree.view.Login
+
+import android.content.Intent
+import android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP
+import androidx.appcompat.app.AppCompatActivity
+import android.os.Bundle
+import android.util.Log
+import android.widget.Button
+import android.widget.ImageView
+import android.widget.TextView
+import android.widget.Toast
+import com.bumptech.glide.Glide
+import com.kakao.sdk.talk.TalkApiClient
+import com.kakao.sdk.user.UserApiClient
+import com.umc.project.mbtree.R
+import com.umc.project.mbtree.databinding.ActivityAfterLoginBinding
+import com.umc.project.mbtree.view.MainActivity
+
+class AfterLoginActivity : AppCompatActivity() {
+
+ lateinit var binding: ActivityAfterLoginBinding
+// private var kakaoFriendsDatas = ArrayList()
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityAfterLoginBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+
+
+ // ** 카카오톡 닉네임, 유저 프로필 사진 가져오기
+ val profileNickname = findViewById(R.id.kakao_me_profile_nickname_tv) // 닉네임
+ val profileImage = findViewById(R.id.kakao_me_profile_image_iv) // 프로필 이미지뷰
+
+ UserApiClient.instance.me { user, error ->
+ profileNickname.text = "닉네임: ${user?.kakaoAccount?.profile?.nickname}"
+
+ // 유저 프로필 사진 url 받아오기
+ val profileImageUrl = user?.kakaoAccount?.profile?.thumbnailImageUrl
+
+ Glide.with(this)
+ .load(profileImageUrl) // 불러올 이미지 url
+ .fallback(R.drawable.ic_my) // 로드할 url 이 비어있을(null 등) 경우 표시할 이미지
+ .into(profileImage) // 이미지를 넣을 뷰
+ }
+
+
+ // ** 카카오톡 친구 목록 가져오기 (기본)
+
+// // 데이터 test
+// kakaoFriendsDatas.apply{
+// add(kakaoFriends())
+// }
+
+// val FriendsAdapter = KaKaoFriendsRVAdapter(this)
+// binding.kakaoFriendsRv.adapter = FriendsAdapter
+
+ val kakao_friends_button = findViewById