获取随机值 android firebase java
get random value android firebase java
我想在 java.
中使用 push() 从我的列表中随机获取一个
这是我存储数据的代码:
Firebase publRef = f.child("Language").child("German").child("Message");
Firebase newPublRef = publRef.push();
Map<String, Object> publ = new HashMap<String, Object>();
publ.put("pubMsg", writeMsgField.getText().toString());
newPublRef.setValue(publ);
这是它在我的 firebase 数据库中的样子:
Language
German
Message
-Jf6ShYy7niHrqg_x4Tc: "Tomorrow is very windy"
-Jf9v0xHAxINUUANrORU: "Today is very windy and rainy"
这是我检索数据的方式:
Firebase f = new Firebase("https://myapp.firebaseio.com/Language/German/Message/");
f.addValueEventListener(new ValueEventListener() {
public void onDataChange(DataSnapshot snapshot) {
disp_msg = (TextView)findViewById(R.id.display_msg);
//disp_msg.setText(snapshot.getValue().toString());
Iterable<DataSnapshot> ds = snapshot.getChildren();
Iterator<DataSnapshot> ids = ds.iterator();
Map<String, Object> newPost = (Map<String, Object>) ids.next().getValue();
String msg = newPost.get("pubMsg").toString();
disp_msg.setText(msg.toString());
}
我想在我的数据库中检索一个随机值。
例如。获取随机值,它可以是 "Tomorrow is very windy" 或 "Today is very windy and rainy".
你们能帮我提供一些我可以在 java 中使用的信息吗,我对其他语言仍然缺乏经验。提前谢谢你。
已解决
//getting maximum number of children
long allNum = snapshot.getChildrenCount();
int maxNum = (int)allNum;
//getting the random integer from number of children
int randomNum = new Random().nextInt(maxNum);
int count = 0;
//has next will check the next value while count is used as a position substitute.
while(ids.hasNext() && count < randomNum) {
ids.next();
count ++; // used as positioning.
}
找出数据库中可能值的数量 (numvals),然后在
中使用它
int random = new Random().nextInt(numvals);
和 select 您数据库中的第 "random" 个条目。
我想在 java.
中使用 push() 从我的列表中随机获取一个这是我存储数据的代码:
Firebase publRef = f.child("Language").child("German").child("Message");
Firebase newPublRef = publRef.push();
Map<String, Object> publ = new HashMap<String, Object>();
publ.put("pubMsg", writeMsgField.getText().toString());
newPublRef.setValue(publ);
这是它在我的 firebase 数据库中的样子:
Language
German
Message
-Jf6ShYy7niHrqg_x4Tc: "Tomorrow is very windy"
-Jf9v0xHAxINUUANrORU: "Today is very windy and rainy"
这是我检索数据的方式:
Firebase f = new Firebase("https://myapp.firebaseio.com/Language/German/Message/");
f.addValueEventListener(new ValueEventListener() {
public void onDataChange(DataSnapshot snapshot) {
disp_msg = (TextView)findViewById(R.id.display_msg);
//disp_msg.setText(snapshot.getValue().toString());
Iterable<DataSnapshot> ds = snapshot.getChildren();
Iterator<DataSnapshot> ids = ds.iterator();
Map<String, Object> newPost = (Map<String, Object>) ids.next().getValue();
String msg = newPost.get("pubMsg").toString();
disp_msg.setText(msg.toString());
}
我想在我的数据库中检索一个随机值。 例如。获取随机值,它可以是 "Tomorrow is very windy" 或 "Today is very windy and rainy".
你们能帮我提供一些我可以在 java 中使用的信息吗,我对其他语言仍然缺乏经验。提前谢谢你。
已解决
//getting maximum number of children
long allNum = snapshot.getChildrenCount();
int maxNum = (int)allNum;
//getting the random integer from number of children
int randomNum = new Random().nextInt(maxNum);
int count = 0;
//has next will check the next value while count is used as a position substitute.
while(ids.hasNext() && count < randomNum) {
ids.next();
count ++; // used as positioning.
}
找出数据库中可能值的数量 (numvals),然后在
中使用它int random = new Random().nextInt(numvals);
和 select 您数据库中的第 "random" 个条目。