android - 获取当前用户孩子时出错,firebase
问题描述
myRef.child("Donors").child(currentFirebaseUser.getUid()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
user = dataSnapshot.getValue(UserInformation.class);
String s=user.getUserName();
...
我收到以下错误:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String com.sy.food.UserInformation.getUserName()”。我怎样才能使它工作?
[编辑] 这是我的数据库https://i.stack.imgur.com/fqDYP.png
[已解决] myRef 没有直接引用我的数据库的另一个子数据库,我没有注意这一点。这就是导致 nullPointerException 的原因。
解决方案
似乎您正在跳过一个孩子,因此 Firebase 无法检索以下数据:
myRef.child("food-d152b").child("Users").child(currentFirebaseUser.getUid()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = snapshot.getValue(UserInformation.class);
String s=user.getUserName();
推荐阅读
- cuba-platform - 如何在数据采集 CUBA 平台中获取照片数据
- python - 通过 Python 将 Excel 文件保存为 CSV
- azure-devops - 如何让 Azure Pipeline 设置 Build.SourceBranch 来执行标记
- bash - bash,用 kubecolor 监视命令
- css - Flex:我如何设置项目以占用其容器的 MAX 1/3,除非它们的内容溢出
- java - 线程“主”java.lang.NoClassDefFoundError maven jar 中的异常
- swift - 你能有同步但非阻塞的 URLSessions 吗?
- java - 使用 JGit 获取分支中的最新标签
- javascript - 三个 JS 地球上的标记总是出现在地球内部或地球之外
- webserver - 可以在网站上找到文件的路径吗?