我开发了一个Android应用程序,现在我已经完成了最后一步。我想在不同的设备上查看我的应用程序。 该应用程序将读/写与Firebase服务器结合在一起 我在两个不同的魅族设备(M2,M3s)中检查了应用程序 - 该应用程序的行为完全符合我的预期。 我检查了三星Galaxy S8中的应用程序 - 写入服务器的方法运行良好 - 我可以在服务器中看到插入了新数据。 但不知何故,我无法在屏幕上看到这些数据,我怀疑从服务器获取数据的方法由于某种原因在此设备上运行不正常。
一些重要的注释:
代码(我认为不会有帮助):
public void getGroups()
{
mRootRef = FirebaseDatabase.getInstance()
.getReferenceFromUrl("some url xxxxxxxxx/groups");
listView = (ListView)findViewById(R.id.groupsListViewMain);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.list_view_style, groupsArray );
listView.setAdapter(adapter);
mRootRef.addChildEventListener(new ChildEventListener()
{
@Override
public void onChildAdded(final DataSnapshot dataSnapshot, String s)
{
final String groupToCheck=dataSnapshot.getKey();
DatabaseReference mRootRefTemp = FirebaseDatabase.getInstance()
.getReferenceFromUrl("some url xxxxxxxxx/users/" + myPhoneNumber+"/");
mRootRefTemp.addChildEventListener(new ChildEventListener()
{
@Override
public void onChildAdded(DataSnapshot dataSnapshotSon, String s)
{
//show me only groups that i belong to.
if (dataSnapshotSon.child(groupToCheck).getValue() != null)
{
groupsArrayFullName.add(dataSnapshotSon.child(groupToCheck).getKey().toString());
for (DataSnapshot child: dataSnapshot.getChildren())
{
if (child.getKey().toString().equals("nameOfGroup"))
{
String value = child.getValue().toString();
System.out.println("the child: "+value);
groupsArray.add(value);
adapter.notifyDataSetChanged();
}
}
}
else
{
System.out.println(groupToCheck+" not exists!");
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
}
请帮助我!