【发布时间】:2016-12-08 16:28:32
【问题描述】:
我正在尝试使用 firebase 数据库登录,其中我已经存储了一些数据。
所以我需要发布某种查询来搜索与输入凭据匹配的特定节点作为输入,并查看其参考键以进行确认。 这是我的代码,它似乎并不成功,因为它总是针对异常情况并给出错误祝酒词。 我非常有义务为我的问题找到解决方案。
public class LogInActivity extends AppCompatActivity {
DatabaseReference Rootref = FirebaseDatabase.getInstance().getReference();
DatabaseReference mwritefarmref = Rootref.child("WRITE FARM");
DatabaseReference muserprofilestab = mwritefarmref.child("USER PROFILES");
EditText mobinputtext;
EditText passwordinputtext;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_log_in);
mobinputtext = (EditText) findViewById(R.id.mobinputtext);
passwordinputtext = (EditText) findViewById(R.id.passinputtext);
tv = (TextView) findViewById(R.id.textView);
Button submitbutton = (Button) findViewById(R.id.submitbutton);
submitbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
DatabaseReference muserid = (DatabaseReference) muserprofilestab.orderByChild("Mobile number").equalTo(mobinputtext.getText().toString());
tv.setText(muserid.getKey());
}catch (Exception e){
Toast.makeText(LogInActivity.this, "ERROR!!", Toast.LENGTH_SHORT).show();
}
}
});
}
}
【问题讨论】:
-
我将首先更改您的数据库结构。另外,请避免在
keys中有空格。使用 camelCaseLetters。 -
哦!感谢您的建议! :D
-
但是现在有没有办法在这个数据库本身上执行所需的操作?!
-
我不明白这个问题。可以重新装帧吗?我相信,只要你说清楚,我可以为你的问题提供解决方案......
-
就像从上面的数据库中,当我得到任何用户输入的手机号码时,我想导出并显示出相应的父键节点。例如:当用户输入手机号码“9705050504”时,应用应显示父键,即“31201000004”
标签: android firebase firebase-realtime-database