我正在为我的课程订购一个订购应用程序。我正在使用firebase进行身份验证。登录屏幕是我的MainActivity。
在没有注册的注册屏幕上我可以返回到LoginScreen。但注册项目停止工作后,无法启动其他活动。我尝试getApplicationContext()
和ActivityName.this
开始在注册前工作但在注册后无效的活动。虽然错误项目会注册用户。
这是我的LoginScreen(MainActivity): -
public class MainActivity extends AppCompatActivity {
Button btn_login;
EditText et_username,et_password;
FirebaseAuth firebaseAuth;
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
firebaseAuth=FirebaseAuth.getInstance();
if(firebaseAuth.getCurrentUser()!=null)
{
intent=new Intent(getApplicationContext(),OrderScreen.class);
startActivity(intent);
}
btn_login= (Button) findViewById(R.id.btn_login);
Button btn_signup= (Button) findViewById(R.id.btn_signup);
et_username= (EditText) findViewById(R.id.et_username);
et_password= (EditText) findViewById(R.id.et_password);
btn_signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intent= new Intent(getApplicationContext(), KayitOl.class);
startActivity(intent);
}
});
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Login();
}
});
}
public void Login()
{
String email,password;
email=et_username.getText().toString().trim();
password=et_password.getText().toString().trim();
if(TextUtils.isEmpty(email) || TextUtils.isEmpty(password))
{
Toast.makeText(this,"E-mail ve Şifre Giriniz",Toast.LENGTH_SHORT).show();
}
else
{
firebaseAuth.signInWithEmailAndPassword(email,password).addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful())
{
intent= new Intent(getApplicationContext(),OrderScreen.class);
startActivity(intent);
}
}
});
}
}`
这是我的RegisterScreen(KayitOl.java)
public class KayitOl extends AppCompatActivity{
Button btn_register;
EditText et_email,et_password;
TextView tv_login;
ProgressDialog pd;
FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kayit_ol);
firebaseAuth= FirebaseAuth .getInstance();
pd=new ProgressDialog(this);
btn_register= (Button) findViewById(R.id.btn_register);
et_email= (EditText) findViewById(R.id.et_email);
et_password= (EditText) findViewById(R.id.et_password);
tv_login= (TextView) findViewById(R.id.tv_login);
btn_register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Signup();
}
});
tv_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}
});
}
private void Signup()
{
String email,password;
email=et_email.getText().toString().trim();
password=et_password.getText().toString().trim();
if(TextUtils.isEmpty(email) || TextUtils.isEmpty(password))
{
Toast.makeText(this,"Lütfen Mail ve Şifre Giriniz",Toast.LENGTH_SHORT).show();
}
else
{
pd.setMessage("Kayıt Olunuyor");
pd.show();
firebaseAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(KayitOl.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful())
{
pd.dismiss();
Toast.makeText(KayitOl.this,"Kayıt Olundu",Toast.LENGTH_SHORT).show();
et_email.setText("");
et_password.setText("");
Intent intent=new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}
else
{
pd.dismiss();
Toast.makeText(KayitOl.this,"Kayıt Olunamadı",Toast.LENGTH_SHORT).show();
}
}
});
}
}
这是manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".KayitOl">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".OrderScreen"></activity>
</application>
答案 0 :(得分:0)
将onStart方法添加到您的登录活动中,根据Firebase文档:
eval = file.exists("/home/user001/connection.config")