diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 35a0b72..30bbf20 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -2,7 +2,6 @@ plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlinKapt)
- alias(libs.plugins.google.gms.google.services)
}
android {
@@ -64,6 +63,17 @@ dependencies {
implementation("androidx.room:room-runtime:2.8.3")
kapt("androidx.room:room-compiler:2.8.3")
- implementation (platform("com.google.firebase:firebase-bom:34.5.0"))
- implementation ("com.google.firebase:firebase-database-ktx:21.0.0")
+ //Retrofit
+ implementation ("com.squareup.retrofit2:retrofit:2.9.0")
+ implementation ("com.squareup.retrofit2:converter-gson:2.9.0")
+ implementation ("com.squareup.retrofit2:adapter-rxjava2:2.9.0")
+
+ //okHttp
+ implementation ("com.squareup.okhttp3:okhttp:4.9.0")
+ implementation ("com.squareup.okhttp3:logging-interceptor:4.9.0")
+
+ //Glide
+ implementation ("com.github.bumptech.glide:glide:4.11.0")
+ annotationProcessor ("com.github.bumptech.glide:compiler:4.11.0")
+
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 344f714..0a9583c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,6 +2,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/keder/flo/AuthResponse.kt b/app/src/main/java/com/keder/flo/AuthResponse.kt
new file mode 100644
index 0000000..bbd479b
--- /dev/null
+++ b/app/src/main/java/com/keder/flo/AuthResponse.kt
@@ -0,0 +1,17 @@
+package com.keder.flo
+
+import com.google.gson.annotations.SerializedName
+
+
+data class AuthResponse(
+ @SerializedName("isSuccess") val isSuccess: Boolean,
+ @SerializedName("code") val code: String,
+ @SerializedName("message") val message: String,
+ @SerializedName("result") val result: Result?
+
+)
+
+data class Result(
+ @SerializedName("userIdx") val userIdx: Int,
+ @SerializedName("jwt") val jwt: String
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/keder/flo/AuthRetrofitInterface.kt b/app/src/main/java/com/keder/flo/AuthRetrofitInterface.kt
new file mode 100644
index 0000000..1e30636
--- /dev/null
+++ b/app/src/main/java/com/keder/flo/AuthRetrofitInterface.kt
@@ -0,0 +1,14 @@
+package com.keder.flo
+
+import retrofit2.Call
+import retrofit2.http.Body
+import retrofit2.http.POST
+
+interface AuthRetrofitInterface {
+ @POST("/users")
+ fun signUp(@Body user: User): Call
+
+ @POST("/users/login")
+ fun login(@Body user: User): Call
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/keder/flo/SignupActivity.kt b/app/src/main/java/com/keder/flo/SignupActivity.kt
index 79ab10d..851634e 100644
--- a/app/src/main/java/com/keder/flo/SignupActivity.kt
+++ b/app/src/main/java/com/keder/flo/SignupActivity.kt
@@ -1,14 +1,20 @@
package com.keder.flo
-import android.content.Intent
import android.os.Bundle
import android.util.Log
+import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
+import com.keder.flo.User
import com.keder.flo.databinding.ActivitySignupBinding
+import retrofit2.Call
+import retrofit2.Callback
+import retrofit2.Response
-class SignupActivity : AppCompatActivity() {
- private lateinit var binding : ActivitySignupBinding
+
+class SignUpActivity : AppCompatActivity(){
+
+ lateinit var binding: ActivitySignupBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -17,31 +23,78 @@ class SignupActivity : AppCompatActivity() {
binding.signupSignupBtn.setOnClickListener {
signUp()
- finish()
}
}
- private fun getUser() : User{
- val email : String = binding.signupIdEt.text.toString() + "@" + binding.signupInputIdEt.text.toString()
- val pwd : String = binding.signupPasswordEt.text.toString()
+ private fun getUser(): User {
+ val email: String =
+ binding.signupIdEt.text.toString() + "@" + binding.signupInputIdEt.text.toString()
+ val name: String = binding.signUpNameEt.text.toString()
+ val pwd: String = binding.signupPasswordEt.text.toString()
- return User(email, pwd)
+ return User(email, pwd, name)
}
- private fun signUp(){
- if(binding.signupIdEt.text.toString().isEmpty() || binding.signupInputIdEt.text.toString().isEmpty()){
+// private fun signUp() {
+// if (binding.signUpIdEt.text.toString().isEmpty() || binding.signUpDirectInputEt.text.toString().isEmpty()) {
+// Toast.makeText(this, "이메일 형식이 잘못되었습니다.", Toast.LENGTH_SHORT).show()
+// return
+// }
+//
+// if (binding.signUpPasswordEt.text.toString() != binding.signUpPasswordCheckEt.text.toString()) {
+// Toast.makeText(this, "비밀번호가 일치하지 않습니다.", Toast.LENGTH_SHORT).show()
+// return
+// }
+//
+// val userDB = SongDatabase.getInstance(this)!!
+// userDB.userDao().insert(getUser())
+//
+// val users = userDB.userDao().getUsers()
+//
+// Log.d("SIGNUPACT", users.toString())
+// }
+
+ private fun signUp() {
+ if (binding.signupIdEt.text.toString()
+ .isEmpty() || binding.signupInputIdEt.text.toString().isEmpty()
+ ) {
Toast.makeText(this, "이메일 형식이 잘못되었습니다.", Toast.LENGTH_SHORT).show()
return
}
- if(binding.signupPasswordEt.text.toString() != binding.signupPwCheckEt.text.toString()){
+
+ if (binding.signupPasswordEt.text.toString() != binding.signupPwCheckEt.text.toString()) {
Toast.makeText(this, "비밀번호가 일치하지 않습니다.", Toast.LENGTH_SHORT).show()
return
}
- val userDB = SongDatabase.getInstance(this)!!
- userDB.userDao().insert(getUser())
+ val authService = getRetrofit().create(AuthRetrofitInterface::class.java)
+ authService.signUp(getUser()).enqueue(object: Callback{
+ override fun onResponse(
+ call: Call,
+ response: Response
+ ) {
+ Log.d("SIGNUP/SUCCESS", "Hello, FLO")
+ val resp: AuthResponse = response.body()!!
+ when(resp.code){
+ "COMMON201" -> finish()
+ "AUTH400_1" -> {
+ binding.signUpEmailErrorTv.visibility = View.VISIBLE
+ binding.signUpEmailErrorTv.text = resp.message
+ }
+ }
+ }
- val user = userDB.userDao().getUsers()
- Log.d("SIGNUPACT", user.toString())
+ override fun onFailure(
+ call: Call,
+ t: Throwable
+ ) {
+ Log.d("SIGNUP/FAILURE", "Hello, FLO")
+ }
+
+ })
+
+
+ Log.d("SIGNUP-ACT/ASYNC", "Hello, FLO")
}
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/keder/flo/User.kt b/app/src/main/java/com/keder/flo/User.kt
new file mode 100644
index 0000000..9128d44
--- /dev/null
+++ b/app/src/main/java/com/keder/flo/User.kt
@@ -0,0 +1,14 @@
+package com.keder.flo
+
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+import com.google.gson.annotations.SerializedName
+
+@Entity(tableName = "UserTable")
+data class User(
+ @SerializedName(value="email") var email : String,
+ @SerializedName(value="pasword") var password : String,
+ @SerializedName(value="name") var name : String,
+){
+ @PrimaryKey(autoGenerate = true) var id : Int = 0
+}
diff --git a/app/src/main/res/layout/activity_signup.xml b/app/src/main/res/layout/activity_signup.xml
index ce9be7c..2baf7be 100644
--- a/app/src/main/res/layout/activity_signup.xml
+++ b/app/src/main/res/layout/activity_signup.xml
@@ -89,6 +89,43 @@
app:layout_constraintEnd_toEndOf="@id/signup_input_id_et"
app:layout_constraintTop_toTopOf="@id/signup_input_id_et"/>
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@id/sign_up_name_underscore_view"/>