簡體   English   中英

如何在密鑰下將數據添加到特定的Firebase子項?

[英]How can I add data to a specific Firebase child under a key?

我正在嘗試將設置值的數據添加到某個鍵下的特定數據庫子級。 這是我的代碼:

 DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Chat");




    public BlogViewHolder(View itemView) {
        super(itemView);
        mView = itemView;
        textView_title = (TextView) itemView.findViewById(R.id.title);
        textView_decription = (TextView) itemView.findViewById(R.id.description);
        textView_address =(TextView) itemView.findViewById(R.id.address);
        textView_phone =(TextView) itemView.findViewById(phone);
        textView_Pickup =(TextView) itemView.findViewById(pickup);
        textView_Confirm =(TextView) itemView.findViewById(confirm);
        bconfirm = (Button) itemView.findViewById(R.id.bcomfirm);
        bpickup = (Button) itemView.findViewById(R.id.bpickup);


        bpickup.setOnClickListener(this);
        bconfirm.setOnClickListener(this);



    }
    //new
    @Override
    public void onClick(View v) {
        if (v.getId() == bpickup.getId()) {
            //set action



            reference.child("pickup").setValue("Confirmed time");

        }
    }

我覺得它必須在我的onClick之下,但這是我的新手。

簡單的演示給您。

您必須為Firebase制作一個列表器來進行控制。

private void firebasedata() {
    String url = "https://xxxx-xxxxxx.firebaseio.com/xxxxx";
    new Firebase(url).addChildEventListener(
            new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    UrlString.add((String) dataSnapshot.child("pickup").getValue());
                    //do everything you want here

                    //for example:
                    // ImageLoader.getInstance().displayImage(UrlString.get(0), imageView, Picturebit.ImageUsing);
                }

                @Override
                public void onChildRemoved(DataSnapshot dataSnapshot) {
                    UrlString.add((String) dataSnapshot.child("pickup").getValue());
                }

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

                @Override
                public void onCancelled(FirebaseError firebaseError) {
                }

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

在您的情況下,請嘗試以下操作

reference = mFirebaseDatabaseReference.child("pickup");
reference.push().setValue(message);

在這里看看。 找到一個方法updateChildren()

firebase.google.com/docs/database/android/read-and-write

如果要更新數據庫中的特定記錄,則需要首先查詢其鍵。 獲取密鑰后,可以通過以下方式更新它:

firebaseReference.child("pickup").child("<Record Key").setValue(message)

您也可以嘗試使用updateChildren()方法,但是如果您打算使用該方法,建議您閱讀以下方法: https : //firebase.google.com/docs/database/android/read-and-write

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM