【发布时间】:2015-06-03 10:26:02
【问题描述】:
我想返回一个包含一些东西的对象。
这是声明;
Object user_det = get_user_det();
功能代码如下:
private Object get_user_det() {
Firebase f_user = new Firebase("https://myapp.firebaseio.com/User/");
f_user.addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot snap_user) {
// TODO Auto-generated method stub
Iterable<DataSnapshot> rs = snap_user.getChildren();
Iterator<DataSnapshot> irs = rs.iterator();
long allNum2 = snap_user.getChildrenCount();
int maxNum2 = (int)allNum2;
int count_user = 1;
while(irs.hasNext())
{
if(count_user <= maxNum2)
{
Firebase user_data = new Firebase("https://myapp.firebaseio.com/");
AuthData authData = user_data.getAuth();
Map<String, Object> nPost = (Map<String, Object>) irs.next().getValue();
String db_email = nPost.get("email_addr").toString();
if (authData != null) {
String usr_email = authData.getProviderData().get("email").toString();
if(usr_email.equals(db_email))
{
//NB: I WANT TO ADD THE FOLLOWING INTO THE OBJECT
String disp_name = nPost.get("disp_name").toString();
String real_name = nPost.get("real_name").toString();
}
} else {
System.out.println("Failed");
}
}
count_user++;
}
}
@Override
public void onCancelled(FirebaseError arg0) {
// TODO Auto-generated method stub
}
});
return null; //NB: I NEED TO RETURN THE OBJECT HERE.
}
我想返回字符串 disp_name 和 real_name 但它们在 addListenerForSingleValueEvent 中,那么如何将它们取出并返回给函数。
我在需要帮助的代码中写了“NB”。
感谢您的宝贵时间。
【问题讨论】:
-
您可以将它们添加到 ArrayList 中并返回它们.. 是吗?如果我是正确的,请告诉我。
-
@mubeen,不需要ArrayList,一个简单的String数组就可以了。
标签: android object return firebase