猿问

如何从 Android Studio 在 Firebase 中编辑特定子项的值?

你能帮我找出为什么我的代码不起作用吗?我想rate在 Firebase 中检索孩子的值并将其显示在我EditText的 Android Studio 中。然后,当在EditTextvia 中输入另一个值时button,子项的值rate将被更新。谢谢。


package com.example.jordan.grat;


import ...


public class AdminActivity extends AppCompatActivity {


private Button mLogout, mAddDriver, mEditDriver, mUpdateRate;


private DatabaseReference mAdminDatabase;


private EditText mRateField;


private String mRate, mPassword;


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_admin);


    mLogout = (Button) findViewById(R.id.logout);

    mAddDriver = (Button) findViewById(R.id.addDriver);

    mEditDriver = (Button) findViewById(R.id.editDriver);

    mUpdateRate = (Button) findViewById(R.id.updateRate);


    mRateField = (EditText) findViewById(R.id.rateField);


    mAdminDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child("Admins");


    getRate();


    mAddDriver.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {

            Intent intent = new Intent(AdminActivity.this, AddDriverActivity.class);

            startActivity(intent);

            finish();

            return;

        }

    });


    mEditDriver.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {

        }

    });


    mLogout.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {

            Intent intent = new Intent(AdminActivity.this, MainActivity.class);

            startActivity(intent);

            finish();

            return;

        }

    });


    mUpdateRate.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {

            setRate();

        }

    });

}


抱歉,我还是 Android Studio 的初学者。任何帮助,将不胜感激。我的火力基地:

慕勒3428872
浏览 168回答 3
3回答

慕妹3242003

试试这个 :mAdminDatabase = FirebaseDatabase.getInstance().getReference("Users").child("Admins");它应该有效吗:D如果它不起作用试试这个:  mUser = FirebaseDatabase.getInstance().getReference("Users");之后,您可以设置管理员的值  mUser.child("Admins").child("rate").setValue("aString");

牛魔王的故事

检查中的规则FirebaseDatabase。如果将它们设置为true,则无需进行身份验证。顺便说一句,这是一个不推荐的选项,您应该始终在这方面有一定的安全性。希望能帮助到你。

12345678_0001

查看您的 Firebase 规则。我看到你要求“公开限制”,所以你可以打开你的规则并将读写设置为真。像这样:{    "rules": {    ".read": true,    ".write": true    }}
随时随地看视频慕课网APP

相关分类

Java
我要回答