Я хочу отправить записанные данные в Cloud Firestore, на страницу EditProfileActivity, на страницу AccountFragment - PullRequest
0 голосов
/ 26 февраля 2020

Я хочу отправить записанные данные на Cloud Firestore, страница EditProfileActivity, на страницу AccountFragment. Я не знаю, какой код мне нужно написать.

* startActivity (новое намерение (getApplicationContext (), MainActivity.class)) я пишу код отправлять информацию на страницу AccountFragment. Конечно, это ошибка.;

EditProfileActivity

public class EditProfileActivity extends AppCompatActivity {
private static final String TAG = "EditProfileFragment";
private CircleImageView mProfilePhoto;
private ImageView mSave;;
private EditText userName,userPhone,userAddress;
private TextView userEmail;
private Uri imgUrl;
private boolean isChanged = false;
private final int PICK_IMAGE_REQUEST = 71;
private String downloadImageUrl;
DatabaseReference databaseIncidents;
StorageReference mStorageRef;
FirebaseAuth mAuth;
FirebaseFirestore mStore;
FirebaseStorage storage;
String userID;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_editprofile);
    mProfilePhoto = findViewById(R.id.profile_photo);
    mSave = (ImageView) findViewById(R.id.saveChanges);
    userName = findViewById(R.id.userfname);
    userPhone = findViewById(R.id.phone_number);
    userAddress = findViewById(R.id.description);
    userEmail = findViewById(R.id.femail);
    storage = FirebaseStorage.getInstance();
    mStorageRef = storage.getInstance().getReference("UserImages");
    mAuth = FirebaseAuth.getInstance();
    mStore = FirebaseFirestore.getInstance();
    userID = mAuth.getCurrentUser().getUid();

    ImageView backArrow = (ImageView)findViewById(R.id.backArrow);
    backArrow.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.d(TAG, "onClick: navigating back to ProfileActivity");
            finish();

        }
    });

    mStore.collection("users").document(userID).get().
            addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
                @Override
                public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                    if (task.isSuccessful()) {
                        if (task.getResult().exists()) {
                            String image = task.getResult().getString("image");
                            String fullname = task.getResult().getString("Name");
                            String phone = task.getResult().getString("Phone");
                            String address = task.getResult().getString("Address");
                            String email = task.getResult().getString("Email");


                            userName.setText(fullname);
                            userPhone.setText(phone);
                            userAddress.setText(address);
                            userEmail.setText(email);
                            RequestOptions placeholderRequest = new RequestOptions();
                            placeholderRequest.placeholder(R.mipmap.ic_launcher);
                            Glide.with(EditProfileActivity.this).setDefaultRequestOptions(placeholderRequest).load(image).into(mProfilePhoto);
                        }
                    } else {

                        String error = task.getException().getMessage();
                        Toast.makeText(EditProfileActivity.this, "(FIRESTORE Retrieve Error) : " + error, Toast.LENGTH_LONG).show();

                    }
                }
            });

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

            final ProgressDialog progressDialog = new ProgressDialog(EditProfileActivity.this);
            progressDialog.setTitle("Uploading...");
            progressDialog.show();

            final String fullname = userName.getText().toString();
            final String phone = userPhone.getText().toString();
            final String address = userAddress.getText().toString();
            final String email = userEmail.getText().toString();

            if(imgUrl != null) {
                final StorageReference filePath = mStorageRef.child("UserImages/" + UUID.randomUUID().toString());
                final UploadTask uploadTask = filePath.putFile(imgUrl);

                uploadTask.addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        progressDialog.dismiss();
                        Toast.makeText(EditProfileActivity.this, "Failed " + e.getMessage(), Toast.LENGTH_SHORT).show();
                    }
                }).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
                    @Override
                    public void onProgress(@NonNull UploadTask.TaskSnapshot taskSnapshot) {
                        {
                            double progress
                                    = (100.0
                                    * taskSnapshot.getBytesTransferred()
                                    / taskSnapshot.getTotalByteCount());
                            progressDialog.setMessage(
                                    "Uploaded "
                                            + (int) progress + "%");
                        }
                    }
                })
                        .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                            @Override
                            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                                // Toast.makeText(ShareActivity.this, "uploaded Successfully.", Toast.LENGTH_LONG).show();
                                Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
                                    @Override
                                    public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
                                        if (!task.isSuccessful()) {

                                            throw task.getException();
                                        }

                                        downloadImageUrl = filePath.getDownloadUrl().toString();
                                        return filePath.getDownloadUrl();
                                    }
                                }).addOnCompleteListener(new OnCompleteListener<Uri>() {
                                    @Override
                                    public void onComplete(@NonNull Task<Uri> task) {
                                        if (task.isSuccessful()) {
                                            downloadImageUrl = task.getResult().toString();

                                }
                                        storeFirestore(null, fullname,phone,address,email);
                            }
                        });
                    }
                });
             }

        }
    });

    mProfilePhoto.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            CropImage.activity(imgUrl)
                    .setAspectRatio(1, 1)
                    .setCropShape(CropImageView.CropShape.OVAL)
                    .start(EditProfileActivity.this);

        }
    });

}
private String getFileExtension(Uri uri) {
    ContentResolver contentResolver = getContentResolver();
    MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
    return mimeTypeMap.getExtensionFromMimeType(contentResolver.getType(uri));
}


                                  mStore.collection("users").document(userID).set(userMap).addOnCompleteListener(new OnCompleteListener<Void>() {
                                        @Override
                                        public void onComplete(@NonNull Task<Void> task) {

                                        }
                                    })
                                }

                            }
                        });
                    }
                });
    }
}*/
private void storeFirestore(@NonNull Task<UploadTask.TaskSnapshot> task, String fullname, String phone, String address, String email)
{
    Map<String, Object> userMap = new HashMap<>();
    userMap.put("user_id",userID );
    userMap.put("Name",fullname);
    userMap.put("Phone",phone);
    userMap.put("Address",address);
    userMap.put("Email",email);
    userMap.put("image", downloadImageUrl);

    mStore.collection("users").document(userID).set(userMap).addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {

            if(task.isSuccessful()){
                Toast.makeText(EditProfileActivity.this, "The user Settings are updated.", Toast.LENGTH_LONG).show();

                startActivity(new Intent(getApplicationContext(),AccountFragment.class));


            } else {

                String error = task.getException().getMessage();
                Toast.makeText(EditProfileActivity.this, "(FIRESTORE Error) : " + error, Toast.LENGTH_LONG).show();

            }


        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        if (resultCode == RESULT_OK) {

            imgUrl = result.getUri();


            //isChanged = true;

        }
        else {
            Toast.makeText(EditProfileActivity.this, "Something gone worng!", Toast.LENGTH_SHORT).show();
        }
    }

}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...