java - 如何自动递增并为 firebase 数据库中的树创建索引 ID?
问题描述
这是我写的代码,但它不起作用。
EditText plant = (EditText)findViewById(R.id.plantname);
String pn = plant.getText().toString();
FirebaseAuth mAuth;
mAuth = FirebaseAuth.getInstance();
FirebaseUser currentFirebaseUser = FirebaseAuth.getInstance().getCurrentUser();
FirebaseDatabase database = FirebaseDatabase.getInstance();
myref = database.getReference("Plants").child(String.valueOf(id+1));
myref.child("Name").setValue(pn);
myref.child("Latitude").setValue(lats);
myref.child("Longitude").setValue(longs);
我想多次添加这三个细节,但索引不同。
myref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.exists()){
id = snapshot.getChildrenCount();
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
解决方案
EditText plant = (EditText)findViewById(R.id.plantname);
String pn = plant.getText().toString();
FirebaseAuth mAuth;
mAuth = FirebaseAuth.getInstance();
FirebaseUser currentFirebaseUser = FirebaseAuth.getInstance().getCurrentUser();
FirebaseDatabase database = FirebaseDatabase.getInstance();
myref = database.getReference("Plants");
myref.child(System.currentTimeMillis()).child("Name").setValue(pn);
myref.child(System.currentTimeMillis()).child("Latitude").setValue(lats);
myref.child(System.currentTimeMillis()).child("Longitude").setValue(longs);
推荐阅读
- ios - 在换行符后附加字符串
- python - Pandas:如何使用生成的 MultiIndex 在另一列中插入 DataFrame 列?
- marklogic - MarkLogic 中的增量备份比平时花费的时间更长?
- kubernetes - Kubernetes:无效值:“****”:错误转换字段路径:不支持字段标签
- sql-server - 从星期一到星期一的日期变量,时间为 8:00
- php - 在提交 html 上传表单时难以让 phpmailer 工作以发送带有附件的电子邮件
- cytoscape.js - 我们如何在 cytoscape.js 中实现“底层”
- python - 如何从字典列表中访问值,该字典列表是 oneliner 中数据框中的一列
- javascript - 表单提交在最新的 chrome 版本中不起作用 (83)
- java - 等待并通知 - 打印不同的线程 ID