Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firebase:连接到同一Firebase项目的两个应用程序之一不';t向数据库发送数据_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android Firebase:连接到同一Firebase项目的两个应用程序之一不';t向数据库发送数据

Android Firebase:连接到同一Firebase项目的两个应用程序之一不';t向数据库发送数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,在发布这个问题之前,我搜索了很多,但没有得到答案。我的问题是: 在使用Firebaseandroid时,我多次注意到,每当我将两个不同的应用程序连接到同一个Firebase项目时,如果我在同一台设备上安装这两个应用程序,其中一个可以向数据库发送/检索数据,而另一个则不能。例如: 1。我最近开发了一个Uber clone应用程序,我意外地将rider和driver应用程序安装在同一个模拟器设备上,其中一个应用程序无法向firebase发送数据,但当我在不同的设备上运行它们时,一切正常 2.现在,我

在发布这个问题之前,我搜索了很多,但没有得到答案。我的问题是:

在使用Firebaseandroid时,我多次注意到,每当我将两个不同的应用程序连接到同一个Firebase项目时,如果我在同一台设备上安装这两个应用程序,其中一个可以向数据库发送/检索数据,而另一个则不能。例如:

1。我最近开发了一个Uber clone应用程序,我意外地将rider和driver应用程序安装在同一个模拟器设备上,其中一个应用程序无法向firebase发送数据,但当我在不同的设备上运行它们时,一切正常

2.现在,我正在从事一个大学项目EBus,该项目有两个模块,一个用于学生,另一个用于司机。我今天正在使用手机进行测试。我开始开发我的驱动程序应用程序,并将其安装在手机上,而学生应用程序已经安装,我无法将数据发送到Firebase实时数据库。但是,当我在另一台设备上安装驱动程序时,一切都正常

我的代码:

public class QrScanFragment extends Fragment {
public static TextView tvName, tvRegNo, tvDept, tvRoute, tvRouteNo;
public static final int STATIC_INTEGER = 4843;

// Database
FirebaseDatabase database;
DatabaseReference seatsRef;


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment

    View view = inflater.inflate(R.layout.fragment_qr_scan, container, false);


    database = FirebaseDatabase.getInstance();
    seatsRef = database.getReference(Common.SEATS_REFERENCE);

    tvName = view.findViewById(R.id.tv_name);
    tvRegNo = view.findViewById(R.id.tv_reg_no);
    tvDept = view.findViewById(R.id.tv_dept);
    tvRoute = view.findViewById(R.id.tv_route);
    tvRouteNo = view.findViewById(R.id.tv_route_no);

    // Sending data here
seatsRef.child(tvRouteNo.getText().toString()).child(Common.AVAILABLE_SEATS).setValue("15", new DatabaseReference.CompletionListener() {
        @Override
        public void onComplete(@Nullable DatabaseError error, @NonNull DatabaseReference ref) {
            if (error != null){
                Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show();
            }

        }
    });


    view.findViewById(R.id.btn_qr_scan).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
                   startActivity(new Intent(getActivity(), QrScannerActivity.class));

        }
    });


    return view;
}


@Override
public void onPause() {
    super.onPause();
}

@Override
public void onResume() {
    super.onResume();
}}

我们有两个独特的证书用于签署您使用Android Studio开发的应用程序。调试证书用于对正在开发和测试的应用程序进行签名。另一方面,发布证书用于在应用程序准备好上传到Google Play商店时对其进行签名


这些证书采用SHA-1指纹的形式,最终,发布和调试指纹都需要添加到Firebase项目中,Android应用程序与之关联,以便使用Google登录提供商。

您使用Firebase身份验证吗?我还没有真正面对这个问题,你确定你使用了正确的凭证吗?@AlexMamo是的,我在学生应用程序中使用,但在司机应用程序中没有使用。@Dharmaraj是的,我已经仔细检查了凭证。为了进一步澄清,我添加了代码。在我的情况下,登录提供商不是问题所在。但它通过将我的应用程序的SHA-1键添加到firebase控制台解决了我的问题。向上投票。谢谢