Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- flutter
- GetX
- 안드로이드 스튜디오
- StatefulWidget
- Provider
- 정보처리기사
- IOS
- 함수
- Null Safety
- 이메일
- 회원가입
- Android
- auth
- Cocoa touch Framework
- 상태관리
- 안드로이드
- BottomNavigationBar
- dart
- firebase_auth
- Kotlin
- 로그인
- go_router
- non-nullable
- swift
- UserAccountsDrawerHeader
- java
- setState
- 변수
- 1과목
- firebase
Archives
- Today
- Total
앱 개발 공부방
안드로이드 스튜디오-파이어베이스 연동 이메일을 통한 로그인 본문
728x90
https://cpcp127.tistory.com/22
파이어베이스 연동을 안하신분은 위 글을 보고 연동을 해주시기 바랍니다.
다음으로 위에서 만든 자신의 프로젝트에 들어가서 이메일/비밀번호 칸을 아래처럼 활성화 시켜줍니다.
Tools->firebase로 들어가서 authentication을 클릭해서 email and password authentication을 클릭합니다
1번 2번을 눌러서 자동으로 로그인에 필요한것들을 자동으로 설정해준다.
그 다음 안드로이드 스튜디오로 돌아와서 로그인화면 xml을 만들어줍니다.
MainActivity.java
(SuccessActivity.java는 로그인 성공시 넘어가는 엑티비티라서 자신이 원하는대로 만들어 줍시다)
package com.example.database;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
public class MainActivity extends AppCompatActivity {
private Button join;
private Button login;
private EditText email_login;
private EditText pwd_login;
FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
join = (Button) findViewById(R.id.main_join_btn);
login = (Button) findViewById(R.id.main_login_btn);
email_login = (EditText) findViewById(R.id.main_email);
pwd_login = (EditText) findViewById(R.id.main_pwd);
firebaseAuth = firebaseAuth.getInstance();//firebaseAuth의 인스턴스를 가져옴
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = email_login.getText().toString().trim();
String pwd = pwd_login.getText().toString().trim();
//String형 변수 email.pwd(edittext에서 받오는 값)으로 로그인하는것
firebaseAuth.signInWithEmailAndPassword(email, pwd)
.addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {//성공했을때
Intent intent = new Intent(MainActivity.this, SuccessActivity.class);
startActivity(intent);
} else {//실패했을때
Toast.makeText(MainActivity.this, "로그인 오류", Toast.LENGTH_SHORT).show();
}
}
});
}
});
join.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
}
});
}
}
회원가입 xml을 만들어 줍니다
회원가입 java
package com.example.database;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.util.HashMap;
import java.util.Map;
public class Main2Activity extends AppCompatActivity {
private EditText email_join;
private EditText pwd_join;
private EditText age_join,name_join;
private Button btn;
FirebaseAuth firebaseAuth;
private FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
private DatabaseReference databaseReference = firebaseDatabase.getReference();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
email_join = (EditText) findViewById(R.id.sign_up_email);
pwd_join = (EditText) findViewById(R.id.sign_up_pwd);
age_join=(EditText)findViewById(R.id.sign_up_age);
name_join=(EditText)findViewById(R.id.sign_up_name);
btn = (Button) findViewById(R.id.sign_up_btn);
firebaseAuth = FirebaseAuth.getInstance();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String email = email_join.getText().toString().trim();
final String pwd = pwd_join.getText().toString().trim();
final String age = age_join.getText().toString().trim();
final String name = name_join.getText().toString().trim();
//공백인 부분을 제거하고 보여주는 trim();
firebaseAuth.createUserWithEmailAndPassword(email, pwd)
.addOnCompleteListener(Main2Activity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Intent intent = new Intent(Main2Activity.this, MainActivity.class);
startActivity(intent);
finish();
} else {
Toast.makeText(Main2Activity.this, "등록 에러", Toast.LENGTH_SHORT).show();
return;
}
}
});
}
});
}
}
로그인 성공시 이렇게 식별자에 회원가입한 아이디가 나옵니다.
728x90
'Android-java' 카테고리의 다른 글
안드로이드 스튜디오-파이어베이스 연동 (0) | 2020.05.20 |
---|---|
안드로이드 스튜디오-calendarview를 사용하고 일정을 저장하는 기능 (16) | 2020.04.29 |
안드로이드 스튜디오-viewpager,cardview (0) | 2020.03.07 |
안드로이드 스튜디오-공공 데이터 API사용하기 (4) | 2020.03.07 |
안드로이드 스튜디오-음성인식 사용하기 (6) | 2020.03.07 |
Comments