我有一个带有这样的树的firebase数据库
tvthemetunes
airwolf value "url to air wolftheme"
eastenders value "url to eastenders"
knight rider value "url to nightrider"
等等…
在我的应用程序中,用户下载项目,而项目下载时,电视主题将从URL播放。当单个项目发生价值事件时,我可以使其正常运行。我希望它从列表中随机选择一个值。如何做到这一点?
由于我的应用程序不包含任何内容,因此编辑可以使用回收视图方法
这是我的单项代码
protected Dialog onCreateDialog(int id) {
switch (id) {
case progress_bar_type:
//Here is where i play the theme
getthemetune();
pDialog = new ProgressDialog(c);
pDialog.setTitle(MY Title);
pDialog.setMessage(MY Message);
pDialog.setIcon(R.mipmap.ic_launcher);
pDialog.setIndeterminate(false);
pDialog.setMax(100);
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pDialog.setCancelable(false);
pDialog.show();
return pDialog;
default:
return null;
}
}
private void getthemetune(){
mthemetuneref = FirebaseDatabase.getInstance();
DatabaseReference ref = mthemetuneref.getReference().child(MYREF);
ref.child("airwolf").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//Edit to add Alex's answer?
long childrenCount = datasnapshot.getChildrenCount();
int count = (int) childrenCount;
//Dont know how to use this
int randomNumber = new Random().nextInt(count);
plysound();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
private void plysound(){
mp = new MediaPlayer();
String j =
tvThemeTune.toString();
Log.i("Url",j);
try {
mp.setDataSource(j);
} catch (IOException e) {
e.printStackTrace();
}
try {
mp.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mp.start();
Log.i("Sound playing", "Ok");
mp.setLooping(true);
}
要解决此问题,请使用以下代码行:
long childrenCount = snapshot.getChildrenCount();
int count = (int) childrenCount;
int randomNumber = new Random().nextInt(count);
然后使用for
循环使用随机数提取该值:
int i=0;
String themeTune; //Your random themeTune will be stored here
for (DataSnapshot snap : snapshot.getChildren()) {
if(i = randomNumber) {
themeTune = snap.getValue(String.class);
break;
}
i++;
}
plysound();
我试图创建一个简单的程序,从用户的名字,手机号码和电子邮件地址,然后把数据在Firebase实时数据库。 有3个输入框和一个按钮,按一下就可以完成上面的操作。代码如下: 我这样设置了消防基地:
firebase数据库最近的更新似乎有一些变化。我的项目在firebase\u数据库:^7.0.0版本下运行良好,但在firebase数据库的更新版本中,我无法更新项目代码。 以下是v7的工作版本 firebase\u数据库^9.0.12上的同一代码出现错误。我收到的错误在`(DataSnapShot snap)async{…}上错误是 无法将参数类型“Future Function(DataSn
我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:
假设我有一个firebase节点,它是dbref=firebase。ref('/Transfer_Request/{pushID]/')。 客户端写入两个值;从_ID和到_ID到dbref。如何从Firebase云函数中获取from_ID和to_ID的单个值? 我的代码: 我得到两个错误: 1) 类型错误:admin。数据库(…)。set不是导出时的函数。转车票。功能。数据库对象处的ref.onW
有人能帮我做这个吗?
我对Firebase和Android是新手。我已经在我的Firebase帐户中存储了用户身份验证详细信息(姓名、个人资料图像而不是电子邮件ID)。我想检索那些数据(如姓名等)到我的应用程序的其他部分。如何检索实时数据库子值?