将数据从Firebase实时数据库移至Firestore

时间:2018-10-29 10:08:36

标签: android firebase firebase-realtime-database google-cloud-firestore

我正在研究聊天程序,对于它的数据库,我使用firebase实时数据库。但是我只能使用vpn服务器才能访问firebase实时数据库。但是,我不需要访问Firestore。因此,我希望我的代码将数据写入Firestore,而不是将其写入实时数据库。

例如,在我的注册活动中:

mAuth.createUserWithEmailAndPassword(email, password)
                    .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()){

                        String DeviceToken = FirebaseInstanceId.getInstance().getToken();

                        String current_user_id = mAuth.getCurrentUser().getUid();

                        storeUserDefaultDatabaseReference = FirebaseDatabase.getInstance().getReference().child("Users").child(current_user_id);
                        storeUserDefaultDatabaseReference.keepSynced(true);
                        storeUserDefaultDatabaseReference.removeValue();
                        storeUserDefaultDatabaseReference.child("user_name").setValue(name);
                        storeUserDefaultDatabaseReference.child("user_status").setValue("Ulgamda user");
                        storeUserDefaultDatabaseReference.child("user_image").setValue("default_profile");
                        storeUserDefaultDatabaseReference.child("user_thumb_image").setValue("default_profile")
                                .addOnCompleteListener(new OnCompleteListener<Void>() {
                                    @Override
                                    public void onComplete(@NonNull Task<Void> task) {
                                        if (task.isSuccessful()){
                                            Intent mainIntent = new Intent(RegisterActivity.this, MainActivity.class);
                                            mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                                            startActivity(mainIntent);
                                            finish();
                                        }
                                        else{
                                            Log.e("Database error","Error saving data", task.getException());
                                        }
                                    }
                                });
                        }
                        else
                        {
                          Toast.makeText(RegisterActivity.this,
                          "Error",
                          Toast.LENGTH_LONG).show();
                        }
                    loadingBar.dismiss();
                 }
            });

我希望此代码写入Firestore。有一些代码可以做到这一点吗?谢谢

0 个答案:

没有答案