loginActivityの後、私のアプリはsetupActivityに進み、ユーザーは自分の名前を入力する必要があり、名前をfirebaseにアップロードするsubmitボタンがあり、mainActivityに進む必要があります。 問題はmSubmitbtnがデータベースに名前を格納しますが、mainActivityに進まず、setupActivityが再びポップすることです。アプリはその最初の実行であるかどうかを追跡し、共有環境設定で値を設定しsetupActivity後にmainActivityに進めるにはどうすればよいですか?
public class SetupActivity extends AppCompatActivity {
private EditText mNameField;
private Button mSubmitBtn;
private DatabaseReference mDatabaseUsers;
private FirebaseAuth mAuth;
private ProgressDialog mProgress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup);
mNameField = (EditText) findViewById(R.id.setupNameField);
mSubmitBtn = (Button) findViewById(R.id.setupSubmitBtn);
mProgress = new ProgressDialog(this);
mDatabaseUsers = FirebaseDatabase.getInstance().getReference().child("Users");
mAuth = FirebaseAuth.getInstance();
mSubmitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startSetupAccount();
}
});
}
private void startSetupAccount() {
final String user_id = mAuth.getCurrentUser().getUid();
final String name = mNameField.getText().toString().trim();
if (!TextUtils.isEmpty(name)) {
mProgress.setMessage("Finishing setup.");
mProgress.show();
mDatabaseUsers.child(user_id).child("name").setValue(name);
mProgress.dismiss();
Intent mainIntent = new Intent(SetupActivity.this, MainActivity.class);
mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(mainIntent);
}
}
@Override
public void onBackPressed() {
moveTaskToBack(true);
}
を行くことができます。 – koksalb
@koksalb申し訳ありませんが、私はチュートリアルからアプリを作っていることに新しいです、いくつかのコード例を手伝ってもらえますか? –