当前位置: 首页 > 知识库问答 >
问题:

如何在Android java中访问和存储firebase中的列表

戎永福
2023-03-14
 List<String> userinterest=new ArrayList<String>();
    FirebaseDatabase database= FirebaseDatabase.getInstance();
    DatabaseReference myRef = database.getReference();
    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    String userId=user.getUid();

   public void UserInterest() {

       myRef.child("users");
       myRef.child(userId);
       myRef.child("userinterest");
       myRef.child("list").addListenerForSingleValueEvent(new ValueEventListener() {
           @Override
           public void onDataChange(@NonNull DataSnapshot snapshot) {
               Log.d("list", snapshot.child("list").getValue().toString());
           }

           @Override
           public void onCancelled(@NonNull DatabaseError error) {

           }
       });
   }

我尝试了这段代码,但遇到了致命的异常。我想要数据列表并将其存储在arralist中。有人请帮助我如何访问用户兴趣列表。

从这个

用户LMECILdKstfD1kgmtMQv6wOswxa2电子邮件:“shetyheef@gmail.com“密码:“qwerty”

 userinterest
    list
       0:"I Will agree to use personal interest"
       1:"General_mix"
       2:"Technolgy"
       3:"Sports"
       4:"Science"
       5:"Maths"

共有1个答案

严承允
2023-03-14

此代码的前3行不起任何作用:

myRef.child("users");
myRef.child(userId);
myRef.child("userinterest");
myRef.child("list").addListenerForSingleValueEvent(new ValueEventListener() {
  ...

子项(…)方法返回一个新的DatabaseReference对象,因为您没有分配它,所以前三行没有意义。

如果要从路径/users/$userId/userinterest/list读取,请执行以下操作:

myRef.child("users").child(userId).child("userinterest/list")
  .addListenerForSingleValueEvent(new ValueEventListener() {
    ...

此外:永远不要将on取消留空,因为您忽略了可能的错误。至少,它应该是:

public void onCancelled(@NonNull DatabaseError databaseError) { 
  throw databaseError.toException(); 
}
 类似资料:
  • 我有一个简单的ImageView,当我点击它时,相机出现并请求一张照片,你拍了照片,ImageView变成了照片,像这样的东西: 相机请求后,图片被加载到Imageviewer中,然后我尝试使用以下方式将其上载到Firebase: 那里有动物。getPictureID它只是以前给定的ID。现在的问题是,在putFile()处,它不断返回FileNotFoundException。 同时,如果您知道

  • 这可以通过元数据实现吗?当在父文件夹中创建一个新文件/文件夹时,我是否也可以通过编程方式更新父文件夹的元数据,以便说:“嘿,在这个文件夹中有这些特定的文件?”

  • 对于vue-axios auth by api_token,我使用助手文件api.js。

  • 问题内容: 我只是做一个简单的应用程序来学习与redux异步。我已经使所有工作正常进行,现在我只想在网页上显示实际状态。现在,我实际上如何在render方法中访问商店的状态? 这是我的代码(所有内容都在一页中,因为我只是在学习): 因此,在状态的render方法中,我想列出商店中的所有内容。 谢谢 问题答案: 您应该创建单独的组件,该组件将侦听状态更改并在每次状态更改时进行更新:

  • 我试图在我的云功能中访问Firebase云存储,但我一直在云功能日志中出现以下错误: 下面是我的代码: const admin=需要('Firebase-admin'); const函数=需要('Firebase-函数'); 下面是我的包中的依赖项。json: PS:我在星火计划上

  • 我只是做了一个简单的应用程序学习异步与Redux。我已经使所有的工作,现在我只想显示的实际状态到网页上。现在,我如何在render方法中实际访问存储的状态? 这里是我的代码(所有内容都在一个页面中,因为我只是在学习): 谢谢