【发布时间】:2018-12-31 12:49:38
【问题描述】:
我正在从 sqlite 检索 UID 并使用该 uid 从 firebase 获取数据,但问题是它只获取第一个 UID 的值而不是之后的值
代码
String userId = null;
Cursor csr = myDBHlpr.getAllQuestions4();
while (csr.moveToNext()) {
userId = csr.getString(csr.getColumnIndex(KEY_USER_ID));
}
final String uid = userId;
mUsersDatabase.child(userId).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
mName = dataSnapshot.child("Name").getValue().toString();
String mStatus = dataSnapshot.child("Status").getValue().toString();
String mDisplayImage = dataSnapshot.child("Image").getValue().toString();
mUsers.add(new IdHelper(mName, mStatus, mDisplayImage));
mAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
该表有多个具有不同 UID 的行,Firebase 也有多个 UID 数据......我已经交叉检查了多次。但仍然只获取一项。这是为什么?我应该检索 sqlite 数据是字符串 [] 吗? 数据库参考是完美的,根据我的问题是,我只获取一个数据作为用户 ID,我认为它停在那里,所以只有一个 ID 数据从火力库中获取。无论如何,有人可以帮助我吗
编辑
public Cursor getAllQuestions4() {
return this.getWritableDatabase().query(TABLE_ID_DATA,null,null,null,null,null,null);
}
【问题讨论】:
-
你能给出
myDBHlpr.getAllQuestions4();方法的定义吗? -
完成@krokodilko ....................
标签: java android database sqlite firebase