Firebase를 사용하여 SignUp 및 SignIn으로 Android 앱 만들기
30047 단어 javajavascriptandroidfirebase
전제 조건:
파이어베이스란?
Firebase는 Google의 모바일 개발 플랫폼입니다. 더 나은 사용자 기반으로 빠르고 고품질의 앱에 대한 플랫폼을 제공합니다. Firebase에는 알려진 요구사항에 따라 사용할 수 있는 여러 보완 기능이 있습니다.
Firebase를 Android Studio와 연결하기 위한 주요 요구 사항은 Google 리포지토리 버전이 26 이상이어야 한다는 것입니다.
버전 확인 단계:
도구를 클릭한 다음 SDK 관리자를 클릭하십시오.
SDK 도구 탭을 클릭합니다.
Google 저장소 확인
Google 리포지토리가 26 이상이 아닌 경우 설치를 눌러 더 높은 버전의 리포지토리를 설치합니다.
설치가 완료될 때까지 기다리십시오.
Firebase와 프로젝트를 연결하는 방법은 무엇입니까?
Firebase에 앱을 연결하는 방법은 두 가지가 있습니다.
집에서 console.firebase.google.com에 연결합니다.
콘솔 Firebase를 엽니다.
이 안드로이드 앱에서 우리는 무엇을 합니까?
로그인 및 등록 애플리케이션을 만들고 인증을 위해 두 페이지를 Firebase에 연결합니다. 사용자 정보는 사용자가 등록할 때 등록됩니다. 등록된 사용자만 로그인할 수 있으며 그렇지 않으면 오류 메시지가 표시됩니다.
응용 프로그램에 사용된 구성 요소:
응용 작업:
등록 페이지의 XML 파일
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".Register">
<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4pt"
android:layout_marginLeft="4pt"
android:layout_marginTop="10pt"
android:hint="Username"/>
<EditText
android:id="@+id/password1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10pt"
android:layout_marginLeft="4pt"
android:layout_marginRight="4pt"
android:hint="Password"/>
<Button
android:id="@+id/sign"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4pt"
android:layout_marginLeft="4pt"
android:layout_marginTop="10pt"
android:text="SIGN UP"/>
</LinearLayout>
로그인 페이지의 XML 파일
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".login">
<EditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4pt"
android:layout_marginLeft="4pt"
android:layout_marginTop="10pt"
android:hint="Username"/>
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10pt"
android:layout_marginLeft="4pt"
android:layout_marginRight="4pt"
android:hint="Password"/>
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4pt"
android:layout_marginLeft="4pt"
android:layout_marginTop="10pt"
android:text="LOG IN"/>
<Button
android:id="@+id/btn_signup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4pt"
android:layout_marginLeft="4pt"
android:layout_marginTop="10pt"
android:text="SIGN UP"/>
</LinearLayout>
등록 페이지의 Java 코드
package com.example.firebaseaap;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Patterns;
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 Register extends AppCompatActivity {
Button btn2_signup;
EditText user_name, pass_word;
FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
user_name=findViewById(R.id.username);
pass_word=findViewById(R.id.password1);
btn2_signup=findViewById(R.id.sign);
mAuth=FirebaseAuth.getInstance();
btn2_signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = user_name.getText().toString().trim();
String password= pass_word.getText().toString().trim();
if(email.isEmpty())
{
user_name.setError("Email is empty");
user_name.requestFocus();
return;
}
if(!Patterns.EMAIL_ADDRESS.matcher(email).matches())
{
user_name.setError("Enter the valid email address");
user_name.requestFocus();
return;
}
if(password.isEmpty())
{
pass_word.setError("Enter the password");
pass_word.requestFocus();
return;
}
if(password.length()<6)
{
pass_word.setError("Length of the password should be more than 6");
pass_word.requestFocus();
return;
}
mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful())
{
Toast.makeText(Register.this,"You are successfully Registered", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(Register.this,"You are not Registered! Try again",Toast.LENGTH_SHORT).show();
}
}
});
}
});
}
}
로그인 페이지의 Java 코드
package com.example.firebaseaap;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Patterns;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.google.firebase.auth.FirebaseAuth;
public class login extends AppCompatActivity {
private EditText user_name, pass_word;
FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
user_name=findViewById(R.id.email);
pass_word=findViewById(R.id.password);
Button btn_login = findViewById(R.id.btn_login);
Button btn_sign = findViewById(R.id.btn_signup);
mAuth=FirebaseAuth.getInstance();
btn_login.setOnClickListener(v -> {
String email= user_name.getText().toString().trim();
String password=pass_word.getText().toString().trim();
if(email.isEmpty())
{
user_name.setError("Email is empty");
user_name.requestFocus();
return;
}
if(!Patterns.EMAIL_ADDRESS.matcher(email).matches())
{
user_name.setError("Enter the valid email");
user_name.requestFocus();
return;
}
if(password.isEmpty())
{
pass_word.setError("Password is empty");
pass_word.requestFocus();
return;
}
if(password.length()<6)
{
pass_word.setError("Length of password is more than 6");
pass_word.requestFocus();
return;
}
mAuth.signInWithEmailAndPassword(email,password).addOnCompleteListener(task -> {
if(task.isSuccessful())
{
startActivity(new Intent(login.this, MainActivity.class));
}
else
{
Toast.makeText(login.this,
"Please Check Your login Credentials",
Toast.LENGTH_SHORT).show();
}
});
});
btn_sign.setOnClickListener(v -> startActivity(new Intent(login.this,Register.class )));
}
}
예제 앱
Reference
이 문제에 관하여(Firebase를 사용하여 SignUp 및 SignIn으로 Android 앱 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/varshithvhegde/create-an-android-app-with-signup-and-signin-using-firebase-1on1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)