코드를 작성하지/등록 클래스입니다 :중포 기지 코드 내 로그인을위한 새로운 사용자에게
package com.example.joshpc.bluetoothattendee;
import android.app.ProgressDialog;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
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 LoginActivity extends AppCompatActivity {
private EditText etEmail;
private EditText etPassword;
private EditText etRegPW;
private FirebaseAuth firebaseAuth;
private Button loginBut;
private Button regBut;
private ProgressDialog message;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
etEmail = (EditText) findViewById(R.id.etEmail);
etPassword = (EditText) findViewById(R.id.etPassword);
etRegPW = (EditText) findViewById(R.id.etRegPW);
firebaseAuth = FirebaseAuth.getInstance();
loginBut = (Button) findViewById(R.id.bLogin);
regBut = (Button) findViewById(R.id.bRegister);
message = new ProgressDialog(this);
regBut.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
userRegister();
}
});
loginBut.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
userLogin();
}
});
}
private void userRegister(){
String email = etEmail.getText().toString().trim();
String password = etPassword.getText().toString().trim();
String verify = etRegPW.getText().toString().trim();
if(TextUtils.isEmpty(email)){
Toast.makeText(this, "Please enter email", Toast.LENGTH_SHORT).show();
return;
}
if(TextUtils.isEmpty(password)){
Toast.makeText(this, "Please enter password", Toast.LENGTH_SHORT).show();
return;
}
Toast.makeText(this, email, Toast.LENGTH_SHORT).show();
if(TextUtils.equals(password, verify)){
message.setMessage("Registering User...");
message.show();
firebaseAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
Toast.makeText(LoginActivity.this, "Successful Registration", Toast.LENGTH_SHORT).show();
message.hide();
sendData();
}
if(!task.isSuccessful()){
Toast.makeText(LoginActivity.this, "Failed Registration", Toast.LENGTH_SHORT).show();
message.hide();
return;
}
}
});
}
else {
Toast.makeText(this, "Passwords do not match", Toast.LENGTH_SHORT).show();
return;
}
}
나는이 코드 부분을 실행할 때마다, 그것은 "등록 실패"내 토스트 메시지를 보여주는 끝과 난 왜 그런지 모르겠다. 필자는 전자 메일, 암호의 값을 테스트하고 토스트 메시지로 확인하여 올바르게 전달되고 있는지 확인했습니다. firebase가 Android 기반 사용자를 인증하는 코드를 제안했는지 확인했습니다.
내 Gradle을 빌드 파일은 다음과 같습니다 나뿐만 아니라 에뮬레이터에서이 작업을 실행하고
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
useLibrary 'org.apache.http.legacy'
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
}
defaultConfig {
applicationId "com.example.joshpc.bluetoothattendee"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled true
debug{debuggable = true}
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.google.android.gms:play-services-gcm:9.6.1'
compile 'com.google.firebase:firebase-auth:9.6.1'
compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.google.firebase:firebase-database:9.6.1'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
.
더 나은 문제 해결을 위해 편집해야 할 것이 있으면 알려 주시기 바랍니다.
업데이트 : 내가 등록한 사용자 계정이 내 firebase에 표시되지만 앱이 여전히 오류 메시지를 내 보내고 있습니다.
당신은 중포 기지 콘솔에서 프로젝트를 설정하고/app 디렉토리에 구글 - services.json 파일을 추가 했습니까? – rhari
방금 지령을 업데이트했습니다. 내가 등록한 계정이 실제로 내 firebase 콘솔에 표시되지만 응용 프로그램이 여전히 내 오류 메시지를 표시합니다 – ThePeskyWabbit
등록 버튼을 누르면 Logcat을 확인할 수 있습니까? Firebase는 대개 일종의 오류 메시지를 표시합니다. – rhari