Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法保存firebase活动状态 应用程序的主仪表板文件 Dashboard.java 包com.abc.farmersconsult; 导入android.content.Intent; 导入android.support.v7.app.AppActivity; 导入android.os.Bundle; 导入android.view.view; 导入android.widget.ArrayAdapter; 导入android.widget.EditText; 导入android.widget.Spinner; 导入com.google.firebase.auth.FirebaseAuth; 导入com.google.firebase.auth.FirebaseUser; 导入com.google.firebase.database.DataSnapshot; 导入com.google.firebase.database.DatabaseError; 导入com.google.firebase.database.DatabaseReference; 导入com.google.firebase.database.FirebaseDatabase; 导入com.google.firebase.database.ValueEventListener; 公共类注册活动扩展了AppCompatActivity{ 私人编辑文本; 私人纺纱机; FirebaseAuth mAuth; 数据库引用userRef; FirebaseAuth.AuthStateListener mAuthStateListener; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity\u寄存器); 微调器=findViewById(R.id.spinner\u国家/地区); spinner.setAdapter(新阵列适配器)(此, android.R.layout.simple\u微调器\u下拉菜单\u项, CountryData.countrynames); editText=findViewById(R.id.Phone); findviewbyd(R.id.Continue).setOnClickListener(newview.OnClickListener()) { @凌驾 公共void onClick(视图v){ 字符串代码= CountryData.countryAreaCodes[spinner.getSelectedItemPosition()]; 字符串编号=editText.getText().toString().trim(); if(number.isEmpty()| number.length()_Java_Android_Firebase_Firebase Authentication - Fatal编程技术网

无法保存firebase活动状态 应用程序的主仪表板文件 Dashboard.java 包com.abc.farmersconsult; 导入android.content.Intent; 导入android.support.v7.app.AppActivity; 导入android.os.Bundle; 导入android.view.view; 导入android.widget.ArrayAdapter; 导入android.widget.EditText; 导入android.widget.Spinner; 导入com.google.firebase.auth.FirebaseAuth; 导入com.google.firebase.auth.FirebaseUser; 导入com.google.firebase.database.DataSnapshot; 导入com.google.firebase.database.DatabaseError; 导入com.google.firebase.database.DatabaseReference; 导入com.google.firebase.database.FirebaseDatabase; 导入com.google.firebase.database.ValueEventListener; 公共类注册活动扩展了AppCompatActivity{ 私人编辑文本; 私人纺纱机; FirebaseAuth mAuth; 数据库引用userRef; FirebaseAuth.AuthStateListener mAuthStateListener; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity\u寄存器); 微调器=findViewById(R.id.spinner\u国家/地区); spinner.setAdapter(新阵列适配器)(此, android.R.layout.simple\u微调器\u下拉菜单\u项, CountryData.countrynames); editText=findViewById(R.id.Phone); findviewbyd(R.id.Continue).setOnClickListener(newview.OnClickListener()) { @凌驾 公共void onClick(视图v){ 字符串代码= CountryData.countryAreaCodes[spinner.getSelectedItemPosition()]; 字符串编号=editText.getText().toString().trim(); if(number.isEmpty()| number.length()

无法保存firebase活动状态 应用程序的主仪表板文件 Dashboard.java 包com.abc.farmersconsult; 导入android.content.Intent; 导入android.support.v7.app.AppActivity; 导入android.os.Bundle; 导入android.view.view; 导入android.widget.ArrayAdapter; 导入android.widget.EditText; 导入android.widget.Spinner; 导入com.google.firebase.auth.FirebaseAuth; 导入com.google.firebase.auth.FirebaseUser; 导入com.google.firebase.database.DataSnapshot; 导入com.google.firebase.database.DatabaseError; 导入com.google.firebase.database.DatabaseReference; 导入com.google.firebase.database.FirebaseDatabase; 导入com.google.firebase.database.ValueEventListener; 公共类注册活动扩展了AppCompatActivity{ 私人编辑文本; 私人纺纱机; FirebaseAuth mAuth; 数据库引用userRef; FirebaseAuth.AuthStateListener mAuthStateListener; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity\u寄存器); 微调器=findViewById(R.id.spinner\u国家/地区); spinner.setAdapter(新阵列适配器)(此, android.R.layout.simple\u微调器\u下拉菜单\u项, CountryData.countrynames); editText=findViewById(R.id.Phone); findviewbyd(R.id.Continue).setOnClickListener(newview.OnClickListener()) { @凌驾 公共void onClick(视图v){ 字符串代码= CountryData.countryAreaCodes[spinner.getSelectedItemPosition()]; 字符串编号=editText.getText().toString().trim(); if(number.isEmpty()| number.length(),java,android,firebase,firebase-authentication,Java,Android,Firebase,Firebase Authentication,此文件是配置文件设置活动 The Main Dashboard File of the App Dashboard.java package com.abc.farmersconsult; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.

此文件是配置文件设置活动

The Main Dashboard File of the App
Dashboard.java
package com.abc.farmersconsult;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

 public class RegisterActivity extends AppCompatActivity {


  private EditText editText;
  private Spinner spinner;
  FirebaseAuth mAuth;
  DatabaseReference userRef;

  FirebaseAuth.AuthStateListener mAuthStateListener;

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

    spinner = findViewById(R.id.spinner_countries);
    spinner.setAdapter(new ArrayAdapter<String>(this, 
 android.R.layout.simple_spinner_dropdown_item, 
  CountryData.countrynames));

    editText = findViewById(R.id.Phone);


    findViewById(R.id.Continue).setOnClickListener(new View.OnClickListener() 
   {
        @Override
        public void onClick(View v) {
            String code = 
  CountryData.countryAreaCodes[spinner.getSelectedItemPosition()];

            String number = editText.getText().toString().trim();

            if (number.isEmpty() || number.length() < 10) {
                editText.setError("Valid number is required");
                editText.requestFocus();
                return;
            }

            String phoneNumber = "+" + code + number;

            Intent intent = new Intent(RegisterActivity.this, 
            VerifyPhone.class);
            intent.putExtra("phonenumbers", phoneNumber);
            startActivity(intent);

        }
       });
      }


   @Override
   protected void onStart() {
    super.onStart();

    FirebaseUser currentUser=FirebaseAuth.getInstance().getCurrentUser();
    UpdateUI(currentUser);
  /*
     if (FirebaseAuth.getInstance().getCurrentUser() != null) {
        Intent intent = new Intent(this, Dashboard.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
        Intent.FLAG_ACTIVITY_CLEAR_TASK);

        startActivity(intent);
    } */





   }

   private void UpdateUI(FirebaseUser currentUser) {
      if(currentUser!=null){
        Intent intent=new Intent(RegisterActivity.this, Dashboard.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| 
     Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(intent);
    }




    }
   }
SetupProfile.java
公共类SetupProfile扩展了AppCompatActivity{
编辑文本编辑文本;
按钮;
私人消防队;
数据库参考mUserRef;
字符串CurrentUserID;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u setup\u profile);
mAuth=FirebaseAuth.getInstance();
CurrentUserID=mAuth.getCurrentUser().getUid();
mUserRef=FirebaseDatabase.getInstance().getReference()。
child(“用户”).child(当前用户ID);
按钮=(按钮)findViewById(R.id.save);
editText=(editText)findViewById(R.id.editText);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
储蓄账户();
}
});
}
私有void saveAccount(){
字符串username=editText.getText().toString().trim();
if(username.isEmpty()){
Toast.makeText(这是“输入有效名称”,Toast.LENGTH_LONG.show();
}
否则{
HashMap userMap=新的HashMap();
userMap.put(“用户名”,username);
mUserRef.updateChildren(userMap).addOnCompleteListener(新
OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Toast.makeText(SetupProfile.this)帐户
创建“,Toast.LENGTH_LONG).show();
sendHome();
}
}
});
}
}
私有void sendHome(){
意图=新意图(SetupProfile.this、Dashboard.class);
intent.addFlags(intent.FLAG\u活动\u新任务|
意图。标记活动(清除任务);
星触觉(意向);
完成();
}
}
此文件包含OTP文件的验证
VerifyPhone.java
公共类VerifyPhone扩展AppCompative活动{
私有字符串验证ID;
FirebaseAuth mAuth;
FirebaseAuth.AuthStateListener mAuthStateListener;
私人编辑文本;
数据库引用userRef;
私人ProgressBar ProgressBar;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u verify\u phone);
mAuth=FirebaseAuth.getInstance();
progressBar=findViewById(R.id.progressBar);
editText=findViewById(R.id.verify\u otp);
字符串phonenumber=getIntent().getStringExtra(“电话号码”);
sendVerificationCode(电话号码);
findviewbyd(R.id.Sign).setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图v){
字符串代码=editText.getText().toString().trim();
if(code.isEmpty()| code.length()<6){
setError(“输入代码…”);
editText.requestFocus();
返回;
}
验证码(code);
}
});
}
专用无效验证码(字符串码){
PhoneAuthCredential credential=PhoneAuthProvider.getCredential(验证ID,代码);
使用凭证(凭证)登录;
}
私有无效检查存在(){
}
私有void SendUserToSetup(){
意向意向=新意向(VerifyPho)
SetupProfile.java
public class SetupProfile extends AppCompatActivity {
EditText editText;
Button button;
private FirebaseAuth mAuth;
DatabaseReference mUserRef;
String CurrentUserID;

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

    mAuth=FirebaseAuth.getInstance();
    CurrentUserID=mAuth.getCurrentUser().getUid();

    mUserRef=FirebaseDatabase.getInstance().getReference().
    child("Users").child(CurrentUserID);
    button=(Button)findViewById(R.id.save);
    editText=(EditText)findViewById(R.id.editText);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            saveAccount();
        }
    });
}

private void saveAccount() {

String username=editText.getText().toString().trim();
if(username.isEmpty()){
    Toast.makeText(this,"Enter valid name", Toast.LENGTH_LONG).show();
}
else{
    HashMap userMap= new HashMap();
    userMap.put("username",username);
    mUserRef.updateChildren(userMap).addOnCompleteListener(new 
    OnCompleteListener() {
        @Override
        public void onComplete(@NonNull Task task) {
         if(task.isSuccessful()){
             Toast.makeText(SetupProfile.this,"Account 
       create",Toast.LENGTH_LONG).show();
             sendHome();
         }
        }
    });
}

}

    private void sendHome() {
     Intent intent=new Intent(SetupProfile.this, Dashboard.class);



    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|
    Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(intent);
    finish();
    }


     }



This File Contains Verification of the OTP file
VerifyPhone.java
public class VerifyPhone extends AppCompatActivity {

   private String verificationId;
    FirebaseAuth mAuth;
    FirebaseAuth.AuthStateListener mAuthStateListener;
    private EditText editText;
    DatabaseReference userRef;
   private ProgressBar progressBar;

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

    mAuth = FirebaseAuth.getInstance();

    progressBar = findViewById(R.id.progressBar);
    editText = findViewById(R.id.verify_otp);

      String phonenumber = getIntent().getStringExtra("phonenumbers");
      sendVerificationCode(phonenumber);

       findViewById(R.id.Sign).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String code = editText.getText().toString().trim();

            if (code.isEmpty() || code.length() < 6) {

                editText.setError("Enter code...");
                editText.requestFocus();
                return;
            }
            verifyCode(code);
        }
       });

      }













   private void verifyCode(String code) {
    PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, code);
    signInWithCredential(credential);
   }

     private void checkExistence() {

    }

    private void SendUserToSetup() {
    Intent intent=new Intent(VerifyPhone.this, SetupProfile.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(intent);
    }




       private void signInWithCredential(PhoneAuthCredential credential) {
       mAuth.signInWithCredential(credential)
            .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {

                    if (task.isSuccessful()) {
                        final String current_userid=mAuth.getCurrentUser().getUid();
                        userRef= FirebaseDatabase.getInstance().getReference().child("Users");
                        userRef.addValueEventListener(new ValueEventListener() {
                            @Override
                            public void onDataChange(DataSnapshot dataSnapshot) {


                                if(!dataSnapshot.hasChild(current_userid)){
                                    SendUserToSetup();
                                }



                                else {
                                    Intent intent = new Intent(VerifyPhone.this, Dashboard.class);
                                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

                                    startActivity(intent);
                                }

                            }

                            @Override
                            public void onCancelled(DatabaseError databaseError) {

                            }
                        });





                    } else {
                        Toast.makeText(VerifyPhone.this, task.getException().getMessage(), Toast.LENGTH_LONG).show();
                    }
                }
            });
}


@Override
protected void onStart() {
    super.onStart();



}

private void sendVerificationCode(String number) {
    progressBar.setVisibility(View.VISIBLE);
    PhoneAuthProvider.getInstance().verifyPhoneNumber(
            number,
            60,
            TimeUnit.SECONDS,
            TaskExecutors.MAIN_THREAD,
            mCallBack
    );

}

private PhoneAuthProvider.OnVerificationStateChangedCallbacks
        mCallBack = new 
 PhoneAuthProvider.OnVerificationStateChangedCallbacks() {

    @Override
    public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken 
forceResendingToken) {
        super.onCodeSent(s, forceResendingToken);
        verificationId = s;
    }

    @Override
     public void onVerificationCompleted(PhoneAuthCredential credential) {

        String code = credential.getSmsCode();
        if (code != null) {
            editText.setText(code);
            verifyCode(code);
        }
        signInWithCredential(credential);

    }


    @Override
    public void onVerificationFailed(FirebaseException e) {
        Toast.makeText(VerifyPhone.this, e.getMessage(), 
     Toast.LENGTH_LONG).show();
      }
    };
   }
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;


public class RegisterActivity extends AppCompatActivity {


private EditText editText;
private Spinner spinner;
FirebaseAuth mAuth;
DatabaseReference userRef;

FirebaseAuth.AuthStateListener mAuthStateListener;

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

    spinner = findViewById(R.id.spinner_countries);
    spinner.setAdapter(new ArrayAdapter<String>(this, 
    android.R.layout.simple_spinner_dropdown_item, 
    CountryData.countrynames));

    editText = findViewById(R.id.Phone);


    findViewById(R.id.Continue).setOnClickListener(new View.OnClickListener() 
   {
        @Override
        public void onClick(View v) {
            String code = 
     CountryData.countryAreaCodes[spinner.getSelectedItemPosition()];

            String number = editText.getText().toString().trim();

            if (number.isEmpty() || number.length() < 10) {
                editText.setError("Valid number is required");
                editText.requestFocus();
                return;
            }

            String phoneNumber = "+" + code + number;

            Intent intent = new Intent(RegisterActivity.this, 
        VerifyPhone.class);
            intent.putExtra("phonenumbers", phoneNumber);
            startActivity(intent);

        }
        });
      }


   @Override
   protected void onStart() {
    super.onStart();

      FirebaseUser currentUser=FirebaseAuth.getInstance().getCurrentUser();
      UpdateUI(currentUser);
   /*
   if (FirebaseAuth.getInstance().getCurrentUser() != null) {
        Intent intent = new Intent(this, Dashboard.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
     Intent.FLAG_ACTIVITY_CLEAR_TASK);

        startActivity(intent);
     } */





}

  private void UpdateUI(FirebaseUser currentUser) {
    if(currentUser!=null){
        Intent intent=new Intent(RegisterActivity.this, Dashboard.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| 
  Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(intent);
    }




}
}