From 16ac40f8a091fe71d3c17899548f853d5cd9d512 Mon Sep 17 00:00:00 2001 From: imkyeongjin Date: Thu, 23 Nov 2023 16:57:05 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[add]=20:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4,=20=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/myapplication/LockerFragment.kt | 6 + .../example/myapplication/LoginActivity.kt | 20 ++ .../example/myapplication/SignUpActivity.kt | 18 ++ .../java/com/example/myapplication/User.kt | 12 + app/src/main/res/layout/activity_login.xml | 284 ++++++++++++++++++ app/src/main/res/layout/activity_sign_up.xml | 221 ++++++++++++++ .../main/res/layout/activity_sign_up/xml.kt | 4 + 7 files changed, 565 insertions(+) create mode 100644 app/src/main/java/com/example/myapplication/LoginActivity.kt create mode 100644 app/src/main/java/com/example/myapplication/SignUpActivity.kt create mode 100644 app/src/main/java/com/example/myapplication/User.kt create mode 100644 app/src/main/res/layout/activity_login.xml create mode 100644 app/src/main/res/layout/activity_sign_up.xml create mode 100644 app/src/main/res/layout/activity_sign_up/xml.kt diff --git a/app/src/main/java/com/example/myapplication/LockerFragment.kt b/app/src/main/java/com/example/myapplication/LockerFragment.kt index 859e7c3..d313f43 100644 --- a/app/src/main/java/com/example/myapplication/LockerFragment.kt +++ b/app/src/main/java/com/example/myapplication/LockerFragment.kt @@ -1,5 +1,6 @@ package com.example.myapplication +import android.content.Intent import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -27,8 +28,13 @@ class LockerFragment : Fragment() { tab.text = information[position] }.attach() + binding.lockerLoginTv.setOnClickListener { + startActivity(Intent(activity, LoginActivity::class.java)) + } + return binding.root } + } diff --git a/app/src/main/java/com/example/myapplication/LoginActivity.kt b/app/src/main/java/com/example/myapplication/LoginActivity.kt new file mode 100644 index 0000000..d180e3c --- /dev/null +++ b/app/src/main/java/com/example/myapplication/LoginActivity.kt @@ -0,0 +1,20 @@ +package com.example.myapplication + +import android.content.Intent +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import com.example.myapplication.databinding.ActivityLoginBinding + +class LoginActivity : AppCompatActivity() { + + lateinit var binding : ActivityLoginBinding + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityLoginBinding.inflate(layoutInflater) + setContentView(binding.root) + + binding.loginSignUpTv.setOnClickListener { + startActivity(Intent(this, SignUpActivity::class.java)) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/SignUpActivity.kt b/app/src/main/java/com/example/myapplication/SignUpActivity.kt new file mode 100644 index 0000000..8d80c56 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/SignUpActivity.kt @@ -0,0 +1,18 @@ +package com.example.myapplication + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import com.example.myapplication.databinding.ActivitySignUpBinding + +class SignUpActivity : AppCompatActivity() { + + lateinit var binding: ActivitySignUpBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivitySignUpBinding.inflate(layoutInflater) + setContentView(binding.root) + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/User.kt b/app/src/main/java/com/example/myapplication/User.kt new file mode 100644 index 0000000..4010bee --- /dev/null +++ b/app/src/main/java/com/example/myapplication/User.kt @@ -0,0 +1,12 @@ +package com.example.myapplication + +import androidx.room.Entity +import androidx.room.PrimaryKey + +@Entity(tableName = "UserTable") +data class User( + var email : String, + var password : String +) { + @PrimaryKey(autoGenerate = true) var id : Int = 0 +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..ab4419f --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml new file mode 100644 index 0000000..9346cfe --- /dev/null +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_sign_up/xml.kt b/app/src/main/res/layout/activity_sign_up/xml.kt new file mode 100644 index 0000000..80d3742 --- /dev/null +++ b/app/src/main/res/layout/activity_sign_up/xml.kt @@ -0,0 +1,4 @@ +package layout.activity_sign_up + +class xml { +} \ No newline at end of file From b9e10f6aa5398f1571fdd5340c9bb26c1aa2654f Mon Sep 17 00:00:00 2001 From: imkyeongjin Date: Thu, 23 Nov 2023 18:33:51 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[feat]=20:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8,?= =?UTF-8?q?=20=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EC=A0=91=EC=86=8D=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 13 ++++++- .../example/myapplication/SignUpActivity.kt | 36 +++++++++++++++++++ .../com/example/myapplication/SongDatabase.kt | 5 ++- .../java/com/example/myapplication/UserDao.kt | 15 ++++++++ 4 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/example/myapplication/UserDao.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8f178bf..5e75fa3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -22,13 +22,24 @@ android:exported="true"> - + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/SignUpActivity.kt b/app/src/main/java/com/example/myapplication/SignUpActivity.kt index 8d80c56..035822e 100644 --- a/app/src/main/java/com/example/myapplication/SignUpActivity.kt +++ b/app/src/main/java/com/example/myapplication/SignUpActivity.kt @@ -1,7 +1,10 @@ package com.example.myapplication import android.os.Bundle +import android.util.Log +import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import com.example.flo.SongDatabase import com.example.myapplication.databinding.ActivitySignUpBinding class SignUpActivity : AppCompatActivity() { @@ -13,6 +16,39 @@ class SignUpActivity : AppCompatActivity() { binding = ActivitySignUpBinding.inflate(layoutInflater) setContentView(binding.root) + binding.signUpSignUpBtn.setOnClickListener { + val signUpCompletion = signUp() + if(signUpCompletion) { + finish() + } + } } + + private fun getUser() : User { + val email : String = binding.signUpIdEt.text.toString() + "@" + binding.signUpDirectInputEt.text.toString() + val pwd : String = binding.signUpPasswordEt.text.toString() + return User(email, pwd) + } + + private fun signUp() : Boolean { + if(binding.signUpIdEt.text.toString().isEmpty() || binding.signUpDirectInputEt.text.toString().isEmpty()) { + Toast.makeText(this, "이메일 형식이 잘못되었습니다.", Toast.LENGTH_SHORT).show() + return false + } + + if(binding.signUpPasswordEt.text.toString() != binding.signUpPasswordCheckEt.text.toString()) { + Toast.makeText(this, "비밀번호가 일치하지 않습니다.", Toast.LENGTH_SHORT).show() + return false + } + + val userDB = SongDatabase.getInstance(this)!! + userDB.UserDao().insert(getUser()) + + val user = userDB.UserDao().getUsers() + Log.d("sign up", user.toString()) + + Toast.makeText(this, "회원가입이 완료되었습니다.", Toast.LENGTH_SHORT).show() + return true + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/SongDatabase.kt b/app/src/main/java/com/example/myapplication/SongDatabase.kt index 29d0f14..099b62f 100644 --- a/app/src/main/java/com/example/myapplication/SongDatabase.kt +++ b/app/src/main/java/com/example/myapplication/SongDatabase.kt @@ -7,6 +7,8 @@ import androidx.room.RoomDatabase import com.example.myapplication.Album //import com.example.myapplication.AlbumDao import com.example.myapplication.Song +import com.example.myapplication.User +import com.example.myapplication.UserDao /* @@ -36,10 +38,11 @@ abstract class SongDatabase: RoomDatabase() { */ //@Database(entities = [Song::class, Album::class], version = 1) -@Database(entities = [Song::class], version = 1) +@Database(entities = [Song::class, User::class], version = 1) abstract class SongDatabase: RoomDatabase() { abstract fun songDao(): SongDao //abstract fun albumDao(): AlbumDao + abstract fun UserDao(): UserDao companion object { private var instance: SongDatabase? = null diff --git a/app/src/main/java/com/example/myapplication/UserDao.kt b/app/src/main/java/com/example/myapplication/UserDao.kt new file mode 100644 index 0000000..7c57352 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/UserDao.kt @@ -0,0 +1,15 @@ +package com.example.myapplication + +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.Query + +@Dao +interface UserDao { + @Insert + fun insert(user : User) + @Query("select * from UserTable") + fun getUsers() : List + @Query("select * from UserTable where email =:email and password = :password") + fun getUser(email : String, password : String) : User? +} \ No newline at end of file From d8463685d1ba0d481d5cb8d5212c2bb87eecc0b2 Mon Sep 17 00:00:00 2001 From: imkyeongjin Date: Wed, 29 Nov 2023 18:37:13 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[feat]=20:=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85,=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EB=B0=8F=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=95=84=EC=9B=83=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 2 - .../example/myapplication/LockerFragment.kt | 36 ++++++++++++++ .../example/myapplication/LoginActivity.kt | 47 +++++++++++++++++++ 3 files changed, 83 insertions(+), 2 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5e75fa3..9e7d774 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,8 +2,6 @@ - -