generated from NOW-SOPT-ANDROID/now-sopt-android-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3 from NOW-SOPT-ANDROID/feat/week_xml1
[1주차/필수/XML] Android UI 구현 기초 : 회원가입 및 로그인
- Loading branch information
Showing
8 changed files
with
429 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -30,6 +30,10 @@ android { | |
kotlinOptions { | ||
jvmTarget = '17' | ||
} | ||
|
||
buildFeatures { | ||
viewBinding true | ||
} | ||
} | ||
|
||
dependencies { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package com.sopt.now | ||
|
||
import android.content.Intent | ||
import android.os.Bundle | ||
import android.util.Log | ||
import android.widget.Toast | ||
import androidx.appcompat.app.AppCompatActivity | ||
import com.sopt.now.databinding.ActivityLoginBinding | ||
import com.sopt.now.databinding.ActivityMainBinding | ||
|
||
class LoginActivity: AppCompatActivity() { | ||
private lateinit var binding: ActivityLoginBinding | ||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
binding = ActivityLoginBinding.inflate(layoutInflater) | ||
setContentView(binding.root) | ||
|
||
val userId = intent.getStringExtra("ID") | ||
val userPw = intent.getStringExtra("PW") | ||
val userName = intent.getStringExtra("Name") | ||
val userPlace = intent.getStringExtra("Place") | ||
|
||
binding.btnSignIn.setOnClickListener { | ||
if (binding.etSignInId.text.toString()== userId) { | ||
if (binding.etSignInPw.text.toString() == userPw) { | ||
Toast.makeText(this, "로그인 되었습니다!", Toast.LENGTH_SHORT).show() | ||
|
||
val intent = Intent(this,MainActivity::class.java) // 메인 페이지로 이동 | ||
intent.putExtra("ID",userId) | ||
intent.putExtra("PW",userPw) | ||
intent.putExtra("Name",userName) | ||
intent.putExtra("Place",userPlace) | ||
startActivity(intent) | ||
} | ||
else | ||
Toast.makeText(this, "비밀번호가 잘못되었습니다", Toast.LENGTH_SHORT).show() | ||
} | ||
else { | ||
Toast.makeText(this, "아이디가 잘못되었습니다!", Toast.LENGTH_SHORT).show() | ||
} | ||
} | ||
|
||
binding.btnJoin.setOnClickListener { | ||
val intent = Intent(this,SignUpActivity::class.java) // 회원가입 페이지로 이동 | ||
startActivity(intent) | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
package com.sopt.now | ||
|
||
import android.content.Intent | ||
import android.os.Bundle | ||
import android.view.View | ||
import android.widget.Toast | ||
import androidx.appcompat.app.AppCompatActivity | ||
import com.google.android.material.snackbar.Snackbar | ||
import com.sopt.now.databinding.ActivitySignupBinding | ||
class SignUpActivity : AppCompatActivity() { | ||
private lateinit var binding: ActivitySignupBinding | ||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
binding = ActivitySignupBinding.inflate(layoutInflater) | ||
setContentView(binding.root) | ||
|
||
binding.btnSignUp.setOnClickListener { | ||
// 1. 모든 정보 입력되지 않았을 시, 회원 가입 불가 (snackbar , toast 등으로 메세지 표시) | ||
// 2. 성공 시 LoginActivity로 화면 전환, 정보도 함께 전달, 회원가입 성공 메세지 표시 | ||
// <회원가입 성공조건> | ||
// - ID : 6~10 글자 | ||
// - Password : 8~12 글자 | ||
// - 닉네임 : 한 글자 이상, 공백으로만 이루어진 닉네임은 불가 | ||
// - 나머지 조건 : 자유 | ||
if (binding.etSignUpId.text.length in 6..10 && | ||
binding.etSignUpPw.text.length in 8..12 && | ||
binding.etSignUpName.text.isNotEmpty() && | ||
binding.etSignUpPlace.text.isNotEmpty()) { | ||
|
||
Toast.makeText(this,"회원가입 성공", Toast.LENGTH_SHORT).show() | ||
|
||
val intent = Intent(this,LoginActivity::class.java) // 회원가입 성공 시, 로그인 화면으로 이동 | ||
// 회원가입 정보 넘기기 | ||
intent.putExtra("ID",binding.etSignUpId.text.toString()) | ||
intent.putExtra("PW",binding.etSignUpPw.text.toString()) | ||
intent.putExtra("Name",binding.etSignUpName.text.toString()) | ||
intent.putExtra("Place",binding.etSignUpPlace.text.toString()) | ||
startActivity(intent) | ||
} | ||
else if (binding.etSignUpId.text.isEmpty() || binding.etSignUpPw.text.isEmpty() || | ||
binding.etSignUpName.text.isEmpty() || binding.etSignUpPlace.text.isEmpty() ) { | ||
Toast.makeText(this, "입력하지 않은 정보가 있습니다.", Toast.LENGTH_SHORT).show() | ||
} | ||
|
||
else | ||
Toast.makeText(this,"회원가입 실패",Toast.LENGTH_SHORT).show() | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
xmlns:app="http://schemas.android.com/apk/res-auto" | ||
xmlns:tools="http://schemas.android.com/tools" | ||
android:id="@+id/main" | ||
android:layout_width="match_parent" | ||
android:layout_height="match_parent"> | ||
|
||
<TextView | ||
android:id="@+id/tvSignInTitle" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginTop="50dp" | ||
android:gravity="center" | ||
android:text="Welcome to SOPT" | ||
android:textSize="30sp" | ||
app:layout_constraintTop_toTopOf="parent" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
/> | ||
|
||
<TextView | ||
android:id="@+id/tvSignInId" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginTop="50dp" | ||
android:layout_marginStart="30dp" | ||
android:gravity="center" | ||
android:text="아이디" | ||
android:textSize="25sp" | ||
app:layout_constraintTop_toBottomOf="@id/tvSignInTitle" | ||
app:layout_constraintStart_toStartOf="parent" | ||
/> | ||
|
||
<EditText | ||
android:id="@+id/etSignInId" | ||
android:layout_width="match_parent" | ||
android:layout_height="wrap_content" | ||
android:layout_marginHorizontal="30dp" | ||
android:hint="아이디를 입력해주세요" | ||
app:layout_constraintTop_toBottomOf="@id/tvSignInId" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
/> | ||
|
||
<TextView | ||
android:id="@+id/tvSignInPw" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginTop="30dp" | ||
android:layout_marginStart="30dp" | ||
android:gravity="center" | ||
android:text="비밀번호" | ||
android:textSize="25sp" | ||
app:layout_constraintTop_toBottomOf="@id/etSignInId" | ||
app:layout_constraintStart_toStartOf="parent" | ||
/> | ||
|
||
<EditText | ||
android:id="@+id/etSignInPw" | ||
android:layout_width="match_parent" | ||
android:layout_height="wrap_content" | ||
android:layout_marginHorizontal="30dp" | ||
android:hint="비밀번호를 입력해주세요" | ||
android:inputType="textPassword" | ||
app:layout_constraintTop_toBottomOf="@id/tvSignInPw" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
/> | ||
|
||
<Button | ||
android:id="@+id/btnSignIn" | ||
android:layout_width="match_parent" | ||
android:layout_height="wrap_content" | ||
android:layout_marginHorizontal="30dp" | ||
android:text="로그인 하기" | ||
android:layout_marginBottom="80dp" | ||
app:layout_constraintBottom_toBottomOf="parent" | ||
/> | ||
|
||
<Button | ||
android:id="@+id/btnJoin" | ||
android:layout_width="match_parent" | ||
android:layout_height="wrap_content" | ||
android:layout_marginHorizontal="30dp" | ||
android:layout_marginBottom="30dp" | ||
android:text="회원가입" | ||
app:layout_constraintTop_toBottomOf="@id/btnSignIn" | ||
app:layout_constraintBottom_toBottomOf="parent" | ||
/> | ||
|
||
|
||
</androidx.constraintlayout.widget.ConstraintLayout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.