Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我如何从Firebase DDBB中的对象获取ID/密钥,并且知道该对象的所有其他数据?_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 我如何从Firebase DDBB中的对象获取ID/密钥,并且知道该对象的所有其他数据?

Java 我如何从Firebase DDBB中的对象获取ID/密钥,并且知道该对象的所有其他数据?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我在活动中的片段中有一个RecyclerView,当我单击该RecyclerView的元素时,它通过包将对象发送到另一个类,在该类中它获取该对象的值并将其应用到某些编辑文本 如果另一个活动是从另一个地方调用的,并且没有收到包;手动获取我放在EditText中的数据,并将它们放在一个新对象中。然后,通过按钮OnclickListener将其上载到数据库 但是,如果收到一个包,并且EditText被接收到的数据填充,我希望按钮进行更新 如何获取由firebase生成的键(当它创建该对象时),该键知道

我在
活动
中的
片段
中有一个
RecyclerView
,当我单击该
RecyclerView
的元素时,它通过
将对象发送到另一个类,在该类中它获取该对象的值并将其应用到某些
编辑文本

如果另一个
活动
是从另一个地方调用的,并且没有收到
;手动获取我放在EditText中的数据,并将它们放在一个新对象中。然后,通过按钮
OnclickListener
将其上载到数据库

但是,如果收到一个
,并且EditText被接收到的数据填充,我希望按钮进行更新

如何获取由
firebase
生成的
(当它创建该对象时),该键知道该对象的所有其他数据(在
捆绑包中接收)

我是否需要执行
查询
传递该对象的所有数据?还是有其他(更简单的)方法? 如果我需要做一个传递所有数据的查询,我该怎么做? 我需要传递的不仅仅是标题(例如),因为没有唯一值这样的东西

添加/修改java类:

public类Addmod扩展appcompative活动{
//XML对象的声明是一个很好的字符串,它是一个BBDD
按钮btnok;
按钮btncan;
Spinner spnplat;
微调器;
编辑文本txtitl;
编辑文本txtvec;
放射组RDGPO;
放射组rdgfis;
单选按钮rdbtn1;
无线电按钮rdbtn2;
弦乐姿势;
弦财政;
字符串avanc;
弦板;
//达托斯基地酒店
数据库参考bbdd;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u addmod);
//阿西纳莫斯·卡达·科萨·洛·苏约
btnok=(按钮)findViewById(R.id.btnokadd);
btncan=(按钮)findViewById(R.id.btncanceladd);
spnplat=(微调器)findViewById(R.id.spnplatfo);
spnav=(微调器)findviewbyd(R.id.spnavan);
txtitl=(EditText)findViewById((R.id.txtTitle));
txtvec=(EditText)findViewById(R.id.txtveces);
rdgpos=(放射组)findViewById(R.id.rg);
rdgfis=(放射组)findViewById(R.id.rg2);
poses=“否”;
fisic=“否”;
avanc=“Nulo”;
plat=“PC”;
//在BBDD的数据中的小数点
bbdd=FirebaseDatabase.getInstance().getReference(“juegos”);
//两个重要人物的听众
最终意图i=getIntent();
最终Juego jjj=i.getParcelableExtra(“jue”);
如果(jjj!=null){
setText(jjj.getitulo());
setText(jjj.getVeces());
}
btnok.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//primero pasamos todos los valores a字符串
字符串titlo=txtitl.getText().toString();
字符串向量=txtvec.getText().toString();
avanc=spnav.getSelectedItem().toString();
plat=spnplat.getSelectedItem().toString();
//朱伊戈·滕加·蒂图罗公司
//我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天,我的天
如果(!TextUtils.isEmpty(titlo)){
如果(!avanc.equals(“Pasado”)和(&!avanc.equals(“Completado”)){
txtvec.setText(“0”);
veces=“0”;
}
Juego j=新Juego(titlo、plat、poses、fisic、avanc、veces);
if(jjj==null){
字符串clave=bbdd.push().getKey();
bbdd.child(clave).setValue(j);
Toast Toast=Toast.makeText(getApplicationContext(),“Añadido conéxito”,Toast.LENGTH_SHORT);
toast.show();
Addmod.this.finish();
}否则{
//BBDD中的修改
字符串clave=bbdd.getKey();
Toast Toast=Toast.makeText(getApplicationContext(),“Modificado conéxito”,Toast.LENGTH_SHORT);
toast.show();
Addmod.this.finish();
}
}否则{
Toast Toast=Toast.makeText(getApplicationContext(),“Te falta el título”,Toast.LENGTH_SHORT);
toast.show();
}
}
});
//El botón cancelar简化了vuelve atrás sin realizar ningún cambio
btncan.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Toast Toast=Toast.makeText(getApplicationContext(),“Operación cancelada”,Toast.LENGTH_SHORT);
toast.show();
Addmod.this.finish();
}
});
//在原则上,我们不需要一个新的平台,一个新的平台,一个新的平台。
字符串[]plataformas=新字符串[]{“PC”、“PS2”、“PS3”、“PS4”、“N64”、“Gamecube”、“Wii”、“WiiU”、“NSwitch”、“Xbox”、“Xbox360”、“XboxOne”、“PSone”、“GameBoy”、“GBA”、“DS”、“3DS”、“PSP”、“PSVita”};
字符串[]avance=新字符串[]{“Nulo”、“Probado”、“Intermedio”、“Pasado”、“Completado”、“无关”};
ArrayAdapter AdapterForms=新的ArrayAdapter(这是android.R.layout.simple\u微调器项目,plataformas);
ArrayAdapter AdapteVanc=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,avance);
spnplat.setAdapter(AdaptiaForms);
spnav.setAdapte