我有这个应用程序,这是一个社交媒体应用程序,但它应该是一个朋友比一个从用户的Angular 来看,而不是一对多。我需要能够拉的信息从孩子“连接配偶”,我似乎有麻烦。我发现一些代码,我目前正在使用,但它拉所有的用户和儿童在同一时间。我只想获取当前用户的信息。如何使用valueeventlistener(或其他东西)仅为当前用户从“connectedpartner”子级提取信息?
这是我的firebase数据库:firebase数据库用户和子数据库
这是我的密码:
public class GetUsernames extends AppCompatActivity {
ArrayList<String> array = new ArrayList<>();
ArrayAdapter adapter;
ArrayList<String> sparray = new ArrayList<>();
ArrayAdapter spadapter;
String user = FirebaseAuth.getInstance().getCurrentUser().getEmail();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_get_usernames);
setTitle("" + user);
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersdRef = rootRef.child("users");
DatabaseReference spousedRef = rootRef.child("users");
ValueEventListener seventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()){
String connectsp = ds.child("connectedspouse").getValue(String.class);
Log.i("SP TAG", "Current Connected Spouses are -> " + connectsp);
sparray.add(connectsp);
}
final ListView spListView = findViewById(R.id.sListView);
spadapter = new ArrayAdapter(GetUsernames.this, android.R.layout.simple_list_item_1, sparray);
spListView.setAdapter(spadapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
};
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
String names = ds.child("email").getValue(String.class);
Log.i("TAG", "Current Users are => " + names);
array.add(names);
}
final ListView useristView = findViewById(R.id.uListView);
adapter = new ArrayAdapter(GetUsernames.this, android.R.layout.simple_list_item_1,array);
useristView.setAdapter(adapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
usersdRef.addListenerForSingleValueEvent(eventListener);
spousedRef.addListenerForSingleValueEvent(seventListener);
}
}
这是我的xml
<ListView
android:id="@+id/sListView"
android:layout_width="match_parent"
android:layout_height="275dp"
android:layout_marginTop="50dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ListView
android:id="@+id/uListView"
android:layout_width="match_parent"
android:layout_height="275dp"
android:layout_marginTop="100dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/sListView" />
这是avd的输出,它当前打印所有用户和连接的配偶。我希望它只打印当前用户和它的连接配偶avd输出
再次感谢您的帮助!!!
暂无答案!
目前还没有任何答案,快来回答吧!