Android Firebase以单一路径检索所有数据并将其存储在SQLite中

时间:2017-03-10 02:28:44

标签: android sqlite firebase firebase-realtime-database

如何检索单个路径中的所有数据并将其存储在SQLite中? 我发现在searchView中过滤数据真的很难,因此我提出了从firebase检索数据并将其存储在SQLite中以过滤或在视图中搜索的想法。

我认为这是可能的但是这样做的简单方法是什么? it is the path

如何粘贴每个"帐户"从firebase到SQLite?

1 个答案:

答案 0 :(得分:1)

试试这个

// get currently logged in user uid
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

// you can do filtering here to make sure user object is not null

// get the data by using addListenerForSingleValueEvent
FirebaseDatabase.getInstance().getReference("Account/" + user.getUid)
    .addListenerForSingleValueEvent(new ValueEventListener() {
        ... onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
                // do SQLite insertion for each data here
            }
        }
        ...
    });
  

我假设你熟悉SQLite,所以我没有包含有关它的代码

我们使用addListenerForSingleValueEvent()因为它只从Firebase数据库请求一次数据。与addValueEventListener()不同。这是the official documentation

修改

看起来我误解了,上面的代码用于从Account/randomUserId请求数据,但是op要求从Account请求数据。因此,我们不再需要FirebaseUser,并将上面的行替换为:

FirebaseDatabase.getInstance().getReference("Account")
    .add ...