Я хочу получить случайное из своего списка, используя push() в java.получить случайное значение android firebase java
Вот мой код, чтобы сохранить мои данные:
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());
}
Я хочу получить случайное значение в моей базе данных. Например, . Получите случайное значение, которое может быть «Завтра очень ветрено» или «Сегодня очень ветрено и дождливо».
Можете ли вы, ребята, помочь мне с некоторой информацией, которую я могу использовать в 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.
}
привет спасибо за ваш ответ, но он не показывает мне, как получить позиции идентификаторов в firebase, это только покажет мне, как получить случайную цифру. – nothingness
В вашем примере кода показано, что вы уже используете итератор для просмотра DataSnapshot. Просто повторите случайное число раз, чтобы получить требуемое значение. –