diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/Like.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/Like.kt new file mode 100644 index 0000000..536a290 --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/Like.kt @@ -0,0 +1,12 @@ +package com.example.imreallystupid + +import androidx.room.Entity +import androidx.room.PrimaryKey + +@Entity(tableName = "LikeTable") +data class Like( + var userId : Int, + var albumId : Int +) { + @PrimaryKey(autoGenerate = true) var id : Int = 0 +} diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LoginActivity.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LoginActivity.kt new file mode 100644 index 0000000..6351a9b --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LoginActivity.kt @@ -0,0 +1,65 @@ +package com.example.imreallystupid + +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import com.example.imreallystupid.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)) + } + + binding.loginSignInBtn.setOnClickListener { + login() + } + } + + private fun login() { + if (binding.loginIdEt.text.toString().isEmpty() || binding.loginDirectInputEt.text.toString().isEmpty()) { + Toast.makeText(this, "이메일을 입력해주세요.", Toast.LENGTH_SHORT).show() + return + } + if (binding.loginPasswordEt.text.toString().isEmpty()) { + Toast.makeText(this, "비밀번호를 입력해주세요.", Toast.LENGTH_SHORT).show() + return + } + + val email : String = binding.loginIdEt.text.toString() + "@" + binding.loginDirectInputEt.text.toString() + val pwd : String = binding.loginPasswordEt.text.toString() + + val songDB = SongDatabase.getInstance(this)!! + val user = songDB.userDao().getUser(email, pwd) + + user?.let { + Log.d("LOGIN_ACT/GET_USER","userId : ${user.id}, $user") + saveJwt(user.id) + startActivity() + } + Toast.makeText(this,"회원 정보가 존재하지 않습니다.", Toast.LENGTH_SHORT).show() + } + + private fun saveJwt(jwt:Int) { + val spf = getSharedPreferences("auth",MODE_PRIVATE) + val editor = spf.edit() + + editor.putInt("jwt",jwt) + editor.apply() + } + + private fun startActivity() { + val intent = Intent(this, MainActivity::class.java) + startActivity(intent) + } + +} \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SearchFragment.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SearchFragment.kt new file mode 100644 index 0000000..b451ccf --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SearchFragment.kt @@ -0,0 +1,25 @@ +package com.example.imreallystupid + + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.imreallystupid.databinding.FragmentSavedBinding +import com.example.imreallystupid.databinding.FragmentSearchBinding + +class SearchFragment : androidx.fragment.app.Fragment() { + + lateinit var binding: FragmentSearchBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentSearchBinding.inflate(inflater, container, false) + + return binding.root + } + +} \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SignUpActivity.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SignUpActivity.kt new file mode 100644 index 0000000..8834cad --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SignUpActivity.kt @@ -0,0 +1,46 @@ +package com.example.imreallystupid + +import android.os.Bundle +import android.util.Log +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import com.example.imreallystupid.databinding.ActiviySignupBinding + +class SignUpActivity : AppCompatActivity() { + lateinit var binding: ActiviySignupBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActiviySignupBinding.inflate(layoutInflater) + setContentView(binding.root) + + binding.signUpSignUpBtn.setOnClickListener { + signUp() + 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() { + 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 user = userDB.userDao().getUsers() + Log.d("SIGNUPACT",user.toString()) + } +} \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/User.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/User.kt new file mode 100644 index 0000000..97325e4 --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/User.kt @@ -0,0 +1,12 @@ +package com.example.imreallystupid + +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 +} diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/UserDao.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/UserDao.kt new file mode 100644 index 0000000..08d4ecb --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/UserDao.kt @@ -0,0 +1,18 @@ +package com.example.imreallystupid + +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 diff --git a/nick/Imreallystupid/app/src/main/res/drawable/button_background_flo_color.xml b/nick/Imreallystupid/app/src/main/res/drawable/button_background_flo_color.xml new file mode 100644 index 0000000..d5e92f3 --- /dev/null +++ b/nick/Imreallystupid/app/src/main/res/drawable/button_background_flo_color.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/nick/Imreallystupid/app/src/main/res/layout/activity_login.xml b/nick/Imreallystupid/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..7a3b16f --- /dev/null +++ b/nick/Imreallystupid/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/res/layout/activiy_signup.xml b/nick/Imreallystupid/app/src/main/res/layout/activiy_signup.xml new file mode 100644 index 0000000..d7f85eb --- /dev/null +++ b/nick/Imreallystupid/app/src/main/res/layout/activiy_signup.xml @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/res/layout/fragment_search.xml b/nick/Imreallystupid/app/src/main/res/layout/fragment_search.xml new file mode 100644 index 0000000..b7e3e18 --- /dev/null +++ b/nick/Imreallystupid/app/src/main/res/layout/fragment_search.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/res/layout/item_search.xml b/nick/Imreallystupid/app/src/main/res/layout/item_search.xml new file mode 100644 index 0000000..ddb361f --- /dev/null +++ b/nick/Imreallystupid/app/src/main/res/layout/item_search.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file