首页 > 解决方案 > 如何与两个不同的应用共享 Firebase 数据

问题描述

我已成功将数据插入到我的 firebase 数据库中。(客户端应用程序)。现在我所要做的就是将数据检索回文本视图,但在不同的应用程序中。(管理应用程序)。

public void clients()
    {
        String name="Abch";
        String gender="Abcg";
        String barber="Abcf";
        String concern="Abce";
        String dt="Abcd";

        if(!TextUtils.isEmpty(name) || !TextUtils.isEmpty(gender) || !TextUtils.isEmpty(barber) || !TextUtils.isEmpty(concern) || !TextUtils.isEmpty(dt))
        {
            String id=databaseReference.push().getKey();
            client client=new client(id,name,gender,barber,concern,dt);

            databaseReference.child(id).setValue(client);
            Toast.makeText(this, "", Toast.LENGTH_SHORT).show();
        }
        else
        {
            Toast.makeText(this, "Something Went Wrong Please Check Again", Toast.LENGTH_SHORT).show();
        }
    }

标签: androidfirebaseandroid-studiofirebase-realtime-database

解决方案


如果您想在另一个应用程序中检索数据,则必须使用eventListeners,前提是您已正确设置数据库规则。

eventListeners您可以使用三个,singleValueEventListenervalueEventListenerchildEventListener。由于您尚未发布数据库的结构,我假设您知道如何获取所需的DatabaseReference.

ValueEventListener eventListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for(DataSnapshot ds : dataSnapshot.getChildren()) {

                   Client client = ds.getValue(Client.class);   

                }

            }


            }

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

            }
        };

        databaseReference.addListenerForSingleValueEvent(eventListener);

推荐阅读