繁体   English   中英

如何从Firebase数据库检索单个数据

[英]how to retrieve single data from the Firebase database

我需要从Firebase数据库检索单个数据。 我在列表视图中包含ID列表。 每当用户单击listview我都需要显示相应的值字段。

检查数据库的屏幕截图

图片

这是代码。

 l1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                        r2= FirebaseDatabase.getInstance().getReference().child("type").child("discord").child("ad");

                        r2.addChildEventListener(new ChildEventListener() {
                        @Override
                        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                            String name1;
                            name1=dataSnapshot.getValue().toString();
                            Toast.makeText(Main2Activity.this, name1, Toast.LENGTH_SHORT).show();
                        }

                        @Override
                        public void onChildChanged(DataSnapshot dataSnapshot, String s) {

                        }

                        @Override
                        public void onChildRemoved(DataSnapshot dataSnapshot) {

                        }

                        @Override
                        public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                        }

                        @Override
                        public void onCancelled(DatabaseError databaseError) {

                        }
                    });





                }
            });

我需要执行查询

从table_name中选择值,其中id =“ 01”;

您需要更改以下代码行:

name1=dataSnapshot.getValue().toString();

name1=dataSnapshot.child("01").getValue(String.class);

addChildEventListener更改为addValueEventListener

例如:

r2.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String name1 = dataSnapshot.child("01").getValue(String.class);
        Toast.makeText(Main2Activity.this, name1, Toast.LENGTH_SHORT).show();
    }
    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log.e(TAG, "onCancelled", databaseError.toException());
    }
});

参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM