[英]Why is my java code not sending data to firebase?
因此,我正在構建一個Android應用程序,該應用程序通過Register Activity內的表單將用戶添加到Firebase數據庫。
我正在Android Studio 3中構建它,並且已經在我的HTC One M9上運行了它
package com.example.mobilniproekt;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.google.firebase.FirebaseApp;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.util.HashMap;
import java.util.Map;
public class RegisterActivity extends AppCompatActivity {
private DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
Button button=(Button) findViewById(R.id.register);
databaseReference= FirebaseDatabase.getInstance().getReference("users");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText name=(EditText) findViewById(R.id.name);
EditText lastname=(EditText) findViewById(R.id.lastname);
EditText city=(EditText) findViewById(R.id.city);
EditText email=(EditText) findViewById(R.id.email);
EditText username=(EditText) findViewById(R.id.username);
EditText password=(EditText) findViewById(R.id.password);
String id=databaseReference.push().getKey();
User user=new User(id, name.getText().toString(), lastname.getText().toString(), city.getText().toString(), email.getText().toString(), username.getText().toString(), password.getText().toString());
databaseReference.child(id).setValue(user);
name.setText("");
}
});
}
}
但是,當我啟動該應用程序時,請填寫表格並檢查我的數據庫中沒有任何數據。
我實施的代碼是否錯誤或Firebase配置是否還有其他問題?
您需要先為他們創建一個用戶
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
FirebaseUser user = mAuth.getCurrentUser();
} else {
Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
}
});
或者,如果他們已經擁有帳戶,則需要先使用其詳細信息登錄
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
FirebaseUser user = mAuth.getCurrentUser();
}
else {
Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
}
});
然后,您可以將要寫入的任何數據發送到Firebase
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.