签名安装apk后我的应用程序行为有所不同

时间:2018-05-05 12:43:13

标签: android apk

public class MainActivity extends AppCompatActivity {
  private EditText email,password,repassword,name;
  private DatabaseReference mDatabase;
  private FirebaseAuth mAuth;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().hide();// removes app title bar
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        setContentView(R.layout.activity_main);

        name  = (EditText) findViewById(R.id.nameid);
        email = (EditText) findViewById(R.id.emailid);
        password = (EditText) findViewById(R.id.passwordid);
          mDatabase=FirebaseDatabase.getInstance().getReference().child("users");
        mAuth = FirebaseAuth.getInstance();


    }


    public void signUpButtonClicked(View view){

        if (!TextUtils.isEmpty(email.getText().toString())&&!TextUtils.isEmpty(password.getText().toString())&& !TextUtils.isEmpty(name.getText().toString())){


            Toasty.error(MainActivity.this, "This is an error toast.", Toast.LENGTH_SHORT, true).show();

        }

        else {
            final ProgressDialog spinner = new ProgressDialog(MainActivity.this);
            spinner.setMessage("Please wait...");
            spinner.show();


            mDatabase.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                    //check if already user phone
                    if (dataSnapshot.child(email.getText().toString()).exists()) {
                        spinner.dismiss();


                        Toasty.warning(MainActivity.this,"Sorry User registered",Toast.LENGTH_SHORT, true).show();
                    } else {

                        spinner.dismiss();
                        users User = new users(name.getText().toString(), password.getText().toString(), email.getText().toString());
                        mDatabase.child(email.getText().toString()).setValue(User);

                        Toast.makeText(MainActivity.this, "Signup Succesful !", Toast.LENGTH_SHORT).show();
                        Intent loginIntent = new Intent(MainActivity.this, Login.class);
                        startActivity(loginIntent);
                        finish();
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });


        }







    }

       public void loginClicked( View view){

           Intent startloging = new Intent(MainActivity.this,Login.class);
           startActivity(startloging);
       }
    }

    public class Login extends AppCompatActivity {
      private EditText userEmail,userPassword;
      private DatabaseReference mDatabase;
      private FirebaseAuth mAuth;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().hide();// removes app title bar
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        setContentView(R.layout.activity_login);

        userEmail = (EditText) findViewById(R.id.emailid);
        userPassword = (EditText) findViewById(R.id.passwordid);
        mAuth = FirebaseAuth.getInstance();
        mDatabase = FirebaseDatabase.getInstance().getReference().child("users");


    }


    public void signUpButtonClicked(View view){

        Intent signup = new Intent(Login.this,MainActivity.class);
        startActivity(signup);

    }

    public void loginButttonClicked(View view) {


        if (userPassword.getText().toString().isEmpty()|userEmail.getText().toString().isEmpty()){

            Toast.makeText(this, "Please fill all!!", Toast.LENGTH_SHORT).show();


        }

        else {

            final ProgressDialog spinner = new ProgressDialog(Login.this);
            spinner.setMessage("Please wait...");
            spinner.show();



            mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {


                    if (dataSnapshot.child(userEmail.getText().toString()).exists()) {
                        spinner.dismiss();

                        users User = dataSnapshot.child(userEmail.getText().toString()).getValue(users.class);



                        Common.currentuser = User;


                        mDatabase.removeEventListener(this);

                        if (User.getPassword().equals(userPassword.getText().toString())) {

                            Intent menuIntent = new Intent(Login.this, Menu.class);
                            startActivity(menuIntent);
                            finish();

                            Toasty.success(Login.this, "Signin Successful", Toast.LENGTH_SHORT, true).show();


                  } else {

                            spinner.dismiss();
                            Toast.makeText(Login.this, "Signin Failed", Toast.LENGTH_SHORT).show();
                        }
                    } else {

                        spinner.dismiss();
                        Toast.makeText(Login.this, "User does not exist", Toast.LENGTH_SHORT).show();
                    }

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });
        }
    }

}

所以我的应用程序在调试模式下工作正常,然后我决定构建一个签名的apk发送给我的朋友,以便他们可以检查出来。当他们尝试时,应用程序不会登录,不是因为凭据错误,而是因为它无法启动下一个意图(Toast:“Signin Successful”显示);因此,不是启动下一个意图,而是将我带回到注册活动意图(当你启动应用程序时,注册活动是我的第一页)。

令人困惑的部分是它在我的手机上工作正常(顺便说一句,我从Android工作室运行到我的手机上测试)我决定安装我发送给朋友的Released apk。 之后,我的应用程序开始表现得与在手机上完全一样。 (成功登录后没有启动下一个意图)..现在我尝试重新安装调试apk,我的应用程序仍然表现相同..

现在我的应用程序完全不同了,从这个(MainActivity)开始,如果任何字段为空,它应该Toast“这是一个错误的吐司。”但它反而说“对不起用户注册”。 当你填写所有字段并单击创建新帐户时,它也会执行类似的操作,它会为Toast提供“这是一个错误的吐司”。而不是“抱歉用户注册”或“注册成功!”

1 个答案:

答案 0 :(得分:0)

它显示toast getThingObservable: of<Item>() 的原因是因为在This is an error toast条件下您要检查文本框是否为空。 if可能存在逻辑问题,如果文本字段为空,则返回true,请尝试使用 - TextUtils.isEmpty()。 我希望它可以帮助你。

相关问题