gpt4 book ai didi

android - isSuccessful() 和 isComplete() 方法之间的区别

转载 作者:太空狗 更新时间:2023-10-29 15:35:35 25 4
gpt4 key购买 nike

我在我的 android 应用程序中使用 Firebase。在我的注册方法中,我使用了 createUserWithEmailAndPassword() 方法。为了检查我的注册过程是否成功,我正在使用 isSuccessful() 方法。

 firebaseAuth.createUserWithEmailAndPassword(m,p).addOnCompleteListener(new 
OnCompleteListener<AuthResult>()
{
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful())
{
//some message
}
else
{
//some other message
}
};

但是每次我尝试注册时,消息都显示没有成功。然后我使用 isComplete() 而不是 isSuccessful() 然后它工作正常。我还检查了 Firebase 仪表板以确保注册过程是否正常并且它是.现在我想知道这两种方法之间是否有任何重大区别,如果我使用 isComplete() 是否还会有其他问题,因为我已经检查了其他教程,其中 isSuccessful() 已被使用。还有一件事,对于相同的代码 isComplete() 返回 true 并创建用户,但 isSuccessful() 不是。完整代码:

 public class RegisterActivity extends AppCompatActivity {
private EditText mail,pass,cPass;
private FirebaseAuth firebaseAuth;
private ImageButton reg;
private TextView warn;
private String a,b,c;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mail=(EditText) findViewById(R.id.email);
pass=(EditText) findViewById(R.id.pass);
cPass=(EditText) findViewById(R.id.Cpass);
reg=(ImageButton) findViewById(R.id.reg);
firebaseAuth=FirebaseAuth.getInstance();
progressDialog=new ProgressDialog(this);
warn=(TextView) findViewById(R.id.warnTv);
warn.setText("");
reg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
a=mail.getText().toString().trim();
b=pass.getText().toString().trim();
c=cPass.getText().toString().trim();
if(a.isEmpty() || b.isEmpty() || c.isEmpty())
{
Toast.makeText(getApplicationContext(),"all the fields are mandatory",Toast.LENGTH_SHORT).show();
}
else
{
if(LoginActivity.validate(a))
{
if(b.equals(c))
{
progressDialog.setMessage("Wait a sec");
progressDialog.show();
firebaseAuth.createUserWithEmailAndPassword(a,b).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful())
{
progressDialog.dismiss();
Toast.makeText(getApplicationContext(),"Registration successful",Toast.LENGTH_SHORT).show();
startActivity(new Intent(RegisterActivity.this,LoginActivity.class));
finish();
}
else
{
progressDialog.dismiss();
Toast.makeText(getApplicationContext(),"Something went wrong",Toast.LENGTH_SHORT).show();
}
}
});
}
else {

warn.setText("Passwords in both the field must be same");
}
}
else
{
warn.setText("Enter a valid emailId");
}
}
}
});

请帮我解答一下。在此先致谢。

最佳答案

当任务所代表的工作完成时,无论成功或失败,任务都是“完成的”。可能有也可能没有错误,您必须检查一下。

当任务所代表的工作按预期完成且没有错误时,任务“成功”。

关于android - isSuccessful() 和 isComplete() 方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48275458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com