正在尝试将数据发送到连接了两个应用程序的Firebase程序包?

问题描述 投票:0回答:1

我正在尝试从Android应用程序将数据发送到我的Firebase项目。我已经设置了两个单独的应用程序以连接到该程序包。其中一个应用程序是guest端,来宾可以将数据发送到Firebase,而另一个应用程序是admin端,管理员可以在其中检索数据。

到目前为止,我的来宾应用程序存在问题。我已经创建了代码,应用程序运行正常,但是单击按钮时,它不会发送输入到EditText字段中的数据并将其发送到Firebase。

firebasedata

这是我的主要Java代码:

package com.example.prototype;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class CleaningService extends AppCompatActivity {

EditText serviceRequest;
Button sendButton;
DatabaseReference reff;
Guest guest;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cleaning_service);
    getSupportActionBar().setTitle("Cleaning Service");
    serviceRequest=(EditText)findViewById(R.id.serviceRequest);
    sendButton=(Button)findViewById(R.id.sendButton);
    guest = new Guest();
    reff= FirebaseDatabase.getInstance().getReference().child("Guest");

    sendButton.setOnClickListener(new View.OnClickListener() {
        @Override
       public void onClick (View view) {

            guest.setRequest(serviceRequest.getText().toString().trim());

            reff.child("guest1").setValue(guest);
           Toast.makeText(CleaningService.this, "message sent successfully.", 
Toast.LENGTH_LONG).show();
        }
   });

}

}

这是我使用setter和getters创建的类:

package com.example.prototype;

public class Guest {
private String Request;

public Guest() {
}

public String getRequest() {
    return Request;
}

public void setRequest(String request) {
    Request = request;
}
}
android firebase firebase-realtime-database
1个回答
0
投票

尝试添加回调,请检查为什么值不能插入数据库。像这样。从那里,我们可以知道发生了什么事。

reff.child("guest1").setValue(guest).addOnCompleteListener(new OnCompleteListener<Void>() {
   @Override
   public void onComplete(@NonNull Task<Void> task) {
      if (task.isSuccessful()){
         Toast.makeText(CleaningService.this, "Success" , Toast.LENGTH_LONG).show();
      }
      else {
         Toast.makeText(CleaningService.this, "Error: " + task.getException().getMessage(), Toast.LENGTH_LONG).show();
      }
   }
});
© www.soinside.com 2019 - 2024. All rights reserved.