![](/img/trans.png)
[英]java.lang.IllegalArgumentException: Given String is empty or null
[英]java.lang.IllegalArgumentException: Given String is empty or null
我是 firebase 的新手,正在嘗試創建登錄代碼。 每次我嘗試按下將字段留空的按鈕時,應用程序都會崩潰,即使我已經編寫了相同的代碼。 我在這里附上了相同的 java 代碼。
MainActivity2.java
public class Main2Activity extends AppCompatActivity {
private EditText email,password;
private Button btn;
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
mAuth = FirebaseAuth.getInstance();
email = findViewById(R.id.editText2);
password = findViewById(R.id.editText3);
btn = findViewById(R.id.button2);
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if(firebaseAuth.getCurrentUser() != null){
//means user has logged in
startActivity(new Intent(Main2Activity.this, New.class));
}
}
};
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startSignin();
}
});
}
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
private void startSignin(){
String mail = email.getText().toString();
String pass = password.getText().toString();
//To make sure user field is not left blank
if(TextUtils.isEmpty(mail)||TextUtils.isEmpty(pass)){
Toast.makeText(Main2Activity.this,"Fields are empty",Toast.LENGTH_LONG).show();
}
mAuth.signInWithEmailAndPassword(mail,pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(!task.isSuccessful()){ //user didnt login in successfully
Toast.makeText(Main2Activity.this,"Sign in Problem",Toast.LENGTH_LONG).show();
}
}
});
}
}
我在執行它給我的方法時遇到了一個問題:
2020-07-08 17:17:24.276 11020-11020/? E/example.fireap: Unknown bits set in runtime_flags: 0x8000
2020-07-08 17:17:24.957 11020-11020/? E/libc: Access denied finding property "ro.vendor.df.effect.conflict"
2020-07-08 17:17:25.381 11020-11020/com.example.fireapp E/GraphicExt: Can't load libboost_ext_fwk
2020-07-08 17:17:25.381 11020-11020/com.example.fireapp E/GraphicExt: GraphicExtModuleLoader::CreateGraphicExtInstance false
2020-07-08 17:17:25.410 11020-11167/com.example.fireapp E/gralloc: Arm Module v1.0
2020-07-08 17:17:25.411 11020-11167/com.example.fireapp E/ion: ioctl c0044901 failed with code -1: Invalid argument
2020-07-08 17:17:28.880 11020-11020/com.example.fireapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.fireapp, PID: 11020
java.lang.IllegalArgumentException: Given String is empty or null
如果您的某個字段為空,mAuth 代碼仍將執行。 如果您不想要這種行為,則必須在 if 分支之后添加 else 。
if(TextUtils.isEmpty(mail)||TextUtils.isEmpty(pass)){
Toast.makeText(Main2Activity.this,"Fields are empty",Toast.LENGTH_LONG).show();
}
else {
mAuth ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.