我能';我找不到登录XML页面的Firebase代码来处理我的登录Java类

我能';我找不到登录XML页面的Firebase代码来处理我的登录Java类,java,android,firebase,Java,Android,Firebase,这是LoginPage.java public abstract class LoginPage extends AppCompatActivity implements OnClickListener { private EditText etEmailUser; private EditText etPassword; private Button bLogin; private TextView tvRegisterHere; private Che

这是LoginPage.java

public abstract class LoginPage extends AppCompatActivity implements OnClickListener {
    private EditText etEmailUser;
    private EditText etPassword;
    private Button bLogin;
    private TextView tvRegisterHere;
    private CheckBox btRememberME;
    private Button bForgotpassword;
    private FirebaseAuth mAuth;
    private  FirebaseAuth.AuthStateListener mAuthListener;
    private static final int RC_SIGN_IN = 0;
    /**
     * ATTENTION: This was auto-generated to implement the App Indexing API.
     * See https://g.co/AppIndexing/AndroidStudio for more information.
     */
    private GoogleApiClient client;
    private SharedPreferences loginPreferences;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        FirebaseAuth auth = FirebaseAuth.getInstance();
        if (auth.getCurrentUser() != null) {
            //user already logged in

        } else {

            startActivityForResult(AuthUI.getInstance()
                    .createSignInIntentBuilder()
                    .setProviders(
                            AuthUI.FACEBOOK_PROVIDER)
                    .build(), RC_SIGN_IN);


            mAuth = FirebaseAuth.getInstance();

            EditText etEmail = (EditText) findViewById(R.id.etEmailUser);
            EditText etPassword = (EditText) findViewById(R.id.etPassword);
            CheckBox saveLoginCheckBox;
            final TextView registerLink = (TextView) findViewById(R.id.tvRegisterHere);

            registerLink.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent registerIntent = new Intent(LoginPage.this, register.class);
                    LoginPage.this.startActivity(registerIntent);
                }
            });


            Button bLogin = (Button) findViewById(R.id.bLogin);

            mAuthListener = new FirebaseAuth.AuthStateListener() {
                @Override
                public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {

                    if (firebaseAuth.getCurrentUser() != null) {

                        startActivity(new Intent(LoginPage.this, HybridActivity.class));
                    }

                }

            };

            bLogin.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {

                    startSignIn();


                }
            });

            // ATTENTION: This was auto-generated to implement the App Indexing API.
            // See https://g.co/AppIndexing/AndroidStudio for more information.
            client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
        }
    }

    public void startSignIn() {

        String email = etEmailUser.getText().toString();
        String password = etPassword.getText().toString();

        if (TextUtils.isEmpty(email) || TextUtils.isEmpty(password)) {


        } else {
            mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {
                        Toast.makeText(LoginPage.this, "Sign in problem", Toast.LENGTH_LONG).show();
                    }
                }
            });

        }

    }
    public Action getIndexApiAction() {
        Thing object = new Thing.Builder()
                .setName("LoginPage Page") // TODO: Define a title for the content shown.
                // TODO: Make sure this auto-generated URL is correct.
                .setUrl(Uri.parse("http://[ENTER-YOUR-URL-HERE]"))
                .build();
        return new Action.Builder(Action.TYPE_VIEW)
                .setObject(object)
                .setActionStatus(Action.STATUS_TYPE_COMPLETED)
                .build();
    }

    @Override
    public void onStart() {
        super.onStart();

        mAuth.addAuthStateListener(mAuthListener);

        // ATTENTION: This was auto-generated to implement the App Indexing API.
        // See https://g.co/AppIndexing/AndroidStudio for more information.
        client.connect();
        AppIndex.AppIndexApi.start(client, getIndexApiAction());
    }

    @Override
    public void onStop() {
        super.onStop();

        // ATTENTION: This was auto-generated to implement the App Indexing API.
        // See https://g.co/AppIndexing/AndroidStudio for more information.
        AppIndex.AppIndexApi.end(client, getIndexApiAction());
        client.disconnect();
    }
}
公共抽象类LoginPage扩展AppCompative实现OnClickListener{
私人编辑用户;
私人编辑文本和密码;
私人按钮博客;
私有文本视图tvRegisterHere;
私人复选框b记住;
私人按钮bForgotpassword;
私人消防队;
私有FirebaseAuth.AuthStateListener mAuthListener;
私有静态最终int RC_SIGN_IN=0;
/**
*注意:这是自动生成的,用于实现应用程序索引API。
*看https://g.co/AppIndexing/AndroidStudio 了解更多信息。
*/
私人谷歌客户;
私人共享参考登录参考;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u登录);
FirebaseAuth auth=FirebaseAuth.getInstance();
if(auth.getCurrentUser()!=null){
//用户已登录
}否则{
startActivityForResult(AuthUI.getInstance()
.CreateSignInEntBuilder()
.setProviders(
AuthUI.FACEBOOK\u提供商)
.build(),RC\u登录);
mAuth=FirebaseAuth.getInstance();
EditText-etEmail=(EditText)findViewById(R.id.etEmailUser);
EditText etPassword=(EditText)findViewById(R.id.etPassword);
复选框saveLoginCheckBox;
最终文本视图注册表链接=(文本视图)findViewById(R.id.tvRegisterHere);
registerLink.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent registerIntent=newintent(LoginPage.this,register.class);
LoginPage.this.startActivity(registerIntent);
}
});
按钮bLogin=(按钮)findViewById(R.id.bLogin);
mAuthListener=new FirebaseAuth.AuthStateListener(){
@凌驾
AuthStateChanged上的公共void(@NonNull FirebaseAuth FirebaseAuth){
如果(firebaseAuth.getCurrentUser()!=null){
startActivity(新意图(LoginPage.this,HybridActivity.class));
}
}
};
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
启动信号素();
}
});
//注意:这是自动生成的,用于实现应用程序索引API。
//看https://g.co/AppIndexing/AndroidStudio 了解更多信息。
client=new GoogleApiClient.Builder(this.addApi(AppIndex.API).build();
}
}
公共无效启动信号(){
字符串email=etEmailUser.getText().toString();
字符串password=etPassword.getText().toString();
if(TextUtils.isEmpty(电子邮件)| | TextUtils.isEmpty(密码)){
}否则{
mAuth.使用email和password(电子邮件,密码)登录。添加OnCompleteListener(新建OnCompleteListener)使复选框、忘记密码按钮和使用Facebook按钮登录在我的Spashscreen类加载后生效。我的编码是否有问题

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    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/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.example.stormy.greenfrogcafe.LoginPage">


    <Button
        android:text="Forgot Password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bForgotpassword"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:srcCompat="@drawable/frog"
        android:layout_centerHorizontal="true"
        android:id="@+id/imageView3"
        android:layout_above="@+id/etEmailUser"
        android:layout_alignParentTop="true" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:ems="10"
        android:id="@+id/etEmailUser"
        android:hint="email "
        android:layout_above="@+id/login_button"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="144dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <com.facebook.login.widget.LoginButton
        android:id="@+id/login_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="27dp"
        android:layout_above="@+id/bForgotpassword"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/etPassword"
        android:hint="password"
        android:layout_below="@+id/imageView3"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="46dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <Button
        android:text="Login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bLogin"
        android:layout_below="@+id/etPassword"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:text="Register Here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tvRegisterHere"
        android:layout_below="@+id/bLogin"
        android:layout_toRightOf="@+id/btRememberMe"
        android:layout_toEndOf="@+id/btRememberMe"
        android:layout_marginLeft="28dp"
        android:layout_marginStart="28dp" />

    <CheckBox
        android:text="Remember Me"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btRememberMe"
        android:textSize="10sp"
        android:checked="true"
        android:layout_below="@+id/bLogin"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

</RelativeLayout>

您提供的链接属于旧的Firebase文档

  • 可以找到Firebase的新文档
  • 新的Firebase文档 可以找到用户身份验证
  • 关于如何 可以找到使用用户名和密码对用户进行身份验证
  • 可以找到有关如何使用Firebase管理和创建用户的指南
  • 可以找到关于将Facebook登录与Firebase集成的指南