-2
からRetrivingデータをいただきましたコードと間違って、私は情報を入力したとき、私は..は、App停止 - firebase
を知らない、私のアプリのショーは - 残念ながら停止しました。 両方のゾーンにアクセスするには、文字列を先頭に宣言しました。 IDEにもエラーは表示されません。
私はまた、stackoverflowからいくつかの答えに従っているが、エラーは同じままです。
と私のコードがあるからデータをretriveしたい - あなたはname
変数にasharfulais
値を割り当てていない
public class LoginPage extends AppCompatActivity {
FirebaseDatabase database;
DatabaseReference myRef;
String name, password, email, edtName, edtPassword;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_page);
final EditText uname, pass;
Button login, signup;
uname = (EditText) findViewById(R.id.editUsername);
pass = (EditText) findViewById(R.id.editPassword);
login = (Button) findViewById(R.id.buttonLogin);
signup = (Button) findViewById(R.id.buttonSignup);
edtName = uname.getText().toString();
edtPassword = pass.getText().toString();
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(LoginPage.this, "Button Tapped", Toast.LENGTH_SHORT).show();
DatabaseReference zonesRef = FirebaseDatabase.getInstance().getReference("sampBase");
DatabaseReference zone1Ref = zonesRef.child(name);
DatabaseReference zone1NameRef = zone1Ref.child("Name");
DatabaseReference zone1PassRef = zone1Ref.child("Password");
// name retrive
zone1NameRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
name = dataSnapshot.getValue(String.class);
Toast.makeText(LoginPage.this, name+" is name", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
// password retrive
zone1PassRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
password = dataSnapshot.getValue(String.class);
if(password != edtPassword){
Toast.makeText(LoginPage.this, "Wrong password.!", Toast.LENGTH_SHORT).show();
pass.setText("");
return;
}
else{
Toast.makeText(LoginPage.this, "Login Successful.!", Toast.LENGTH_SHORT).show();
Intent i = new Intent(LoginPage.this, HomePage.class);
i.putExtra("Name", name);
startActivity(i);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
});
}
}
私は 'DatabaseReference zone1Ref = zonesRef.child(名前)だと思う;' 'NAME'がnullで、この時点で – Omer
印刷スタックトレースをしてください、このチェック:https://stackoverflow.com/questions/7841232/javaを-android-how-to-print-out-full-stack-trace –