下面是我试图创建用户的java代码,然后在firebase中为单个用户插入数据。如何为单个用户插入数据?
public class MainActivity extends AppCompatActivity {
Button submit;
EditText text1;
FirebaseDatabase mydata;
DatabaseReference mref;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
submit = findViewById(R.id.submit);
text1 = findViewById(R.id.text1);
mydata = FirebaseDatabase.getInstance();
mref = mydata.getReference();
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String data = text1.getText().toString();
mref.setValue(data);
Toast.makeText(MainActivity.this, "data Inserted", Toast.LENGTH_SHORT).show();
}
});
}
}
2条答案
按热度按时间4xy9mtcn1#
首先创建一个新类,如下所示,以便更轻松地处理事情。
然后编辑你发布的代码。
将获得以下格式的数据。
您可以编辑用户类以获得所需的格式。
nfg76nw02#
对于用户,最好的选择是使用firebase身份验证。一旦实现了身份验证机制,就可以通过用户的唯一UID来区分用户。这意味着您可以在数据库中为每个用户创建一个单独的位置。尽管@zahidislam的解决方案可行,但将用户名作为密钥存储在数据库中听起来可能不是最好的解决方案,因为firebase realtime数据库中的每个节点都可以被视为一个Map,一个不允许重复的数据结构。因此,如果另一个具有相同“zahid”名称的用户加入你的应用程序,数据将被覆盖,我认为这不是你想要的。
因此,考虑为您的用户提供一个pojo类,至少声明如下:
要保存用户数据,只需使用以下java代码行:
firebase控制台中的结果将是: