Firebase 在 Android 中以编程方式获取 child 值的索引
Firebase get Index of child value programmatically in Android
有什么方法可以得到 Android 中 Firebase
的 child 的索引吗?不幸的是我没有 10 声望所以我会 post 我的照片在这里:http://gyazo.com/70d095cfac4fa92ea344e137fa44ef6d
我想要的是以某种方式获取某个 child 中的值的数量以使用索引循环:
//For loop/Iterator to get value to store in an array
FireBase.child("Europe").child("Albania").child("answers).child(i).getValue();
我找到了自己想要的答案。
private int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Firebase.setAndroidContext(this);
Firebase myFirebaseRef = new Firebase("https://<your_firebase>/");
myFirebaseRef.child("Europe").child("Albania").child("answers").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterator<DataSnapshot> iterator = dataSnapshot.getChildren().iterator();
int length = (int) dataSnapshot.getChildrenCount();
String[] sampleString = new String[length];
while(i < length) {
sampleString[i] = iterator.next().getValue().toString();
Log.d(Integer.toString(i), sampleString[i]);
i++;
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
"i" 是您开始的索引,在本例中为 0。
DataSnapshot.getChildren().iterator();
returns一个
Iterator<DataSnapshot>
然后我创建了长度为 endIndex 并通过 while-loop 循环它。然后我创建了一个字符串数组并添加了 child 和
的所有值
iterator.next().getValue().toString();
因为我的 object 是字符串。
有什么方法可以得到 Android 中 Firebase
的 child 的索引吗?不幸的是我没有 10 声望所以我会 post 我的照片在这里:http://gyazo.com/70d095cfac4fa92ea344e137fa44ef6d
我想要的是以某种方式获取某个 child 中的值的数量以使用索引循环:
//For loop/Iterator to get value to store in an array
FireBase.child("Europe").child("Albania").child("answers).child(i).getValue();
我找到了自己想要的答案。
private int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Firebase.setAndroidContext(this);
Firebase myFirebaseRef = new Firebase("https://<your_firebase>/");
myFirebaseRef.child("Europe").child("Albania").child("answers").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterator<DataSnapshot> iterator = dataSnapshot.getChildren().iterator();
int length = (int) dataSnapshot.getChildrenCount();
String[] sampleString = new String[length];
while(i < length) {
sampleString[i] = iterator.next().getValue().toString();
Log.d(Integer.toString(i), sampleString[i]);
i++;
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
"i" 是您开始的索引,在本例中为 0。
DataSnapshot.getChildren().iterator();
returns一个
Iterator<DataSnapshot>
然后我创建了长度为 endIndex 并通过 while-loop 循环它。然后我创建了一个字符串数组并添加了 child 和
的所有值iterator.next().getValue().toString();
因为我的 object 是字符串。