Я хочу сделать вход без формы ввода - PullRequest
0 голосов
/ 08 февраля 2020

Я хочу сделать вход без формы ввода, просто используйте кнопку, которая проходит аутентификацию в пользовательском поле firebase, помогите мне

TextView var_text;
private DatabaseReference ref;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    var_text = (TextView) findViewById(R.id.infoText);
    ref = FirebaseDatabase.getInstance().getReference().child("karyawan");



}
String phoneID;

public void btnLogin_Click(View view) {

    phoneID = phoneID.getBytes().toString();

    ref.child(phoneID).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot)
        {
            karyawan karyawan = dataSnapshot.getValue(karyawan.class);
            if (phoneID.equals(karyawan.getPhoneID())){
                Toast.makeText(MainActivity.this, "login sukses", Toast.LENGTH_SHORT).show();

                Intent i = new Intent(MainActivity.this, MenuActivity.class);
                startActivity(i);
            }else {
                Toast.makeText(MainActivity.this, "Anda belum terdaftar" , Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError)
        {

        }
    });
}

} введите описание изображения здесь

введите описание изображения здесь

1 Ответ

0 голосов
/ 09 марта 2020

Итак, вы хотите, чтобы ваша регистрационная информация сохранялась на мобильном устройстве? Если это так, просто сохраните его как строки и передайте их при входе в систему. Не безопасно, очевидно. Примерно так:

Вам также нужно будет добавить учетные данные в базу данных Firebase. Есть также некоторые правила в отношении электронной почты и паролей, которые должны иметь значение, например, электронной почте нужен знак @ с чем-то после, например .com. И я думаю, что пароли должны быть как минимум длиной 6.

private void login(String email, String password) 
{
	String my_username = test;
	String my_password = test;
	
	mAuth.signInWithEmailAndPassword(my_username, my_password)
	.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {//This is the logging in api
	@Override
	public void onComplete(@NonNull Task<AuthResult> task) {
			if (task.isSuccessful()) //Logged in successfully to firebase
			{
					// Sign in success, update UI with the signed-in user's information
					Log.d(TAG, "signInWithEmail:success");
					FirebaseUser user = mAuth.getCurrentUser();//Identify who is logged in
					logged_in_user_string = mAuth.getCurrentUser().getEmail();//Store the logged in user's email address to be displayed
					//You are logged in here stare next activity
					

			}
			else
			{
					// If sign in fails, display a message to the user.
					Log.w(TAG, "signInWithEmail:failure", task.getException());
					Log.d(TAG, "Login failed");
					
			}
		}
	});
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...