كيفية انشاء صفحة لتحديث بيانات المستخدم داخل برنامج الاندرويد ستوديو
كما اخبرناكم سابقا اننا سوف نقوم بإنشاء صفحة لتحديث بيانات المستخدم داخل اندرويد ستوديو بحيث انه يقوم المستخدم بتحديث بياناته و عند الضغط على ارسال او تحديث بياناتي يتم تحديث البيانات الخاصة به داخل برنامج الاندرويد ستوديو وداخل قاعدة البيانات التي ترتبط بها الحساب الخاص به في المقالات السابقة قمنا بعرض البيانات التي قام المستخدم بتسجيلها داخل صفحة معلوماتي او معلومات الحساب و باذن الله تعالى سوف تشاهدون في نهايه سلسلة الفايربيز تطبيق رائع جدا يحتوي على Recycler View ريسايكلر فيو او ارسال بياناتهم بين الصفحات وافكار جميله جدا لذلك لا نريد ان نطيل عليكم وارجوا ان ينال هذا الشرح على رضاكم واعجابكم وارجو ان تترك لنا تعليق لطيف منك , وحاول نشر المقال بين اصدقائكم لكي يستفيد الجميع وهذا يعد أكبر حافز ودعم لنا
صفحة تحديث بيانات مربوطة بالفاير بيز
CropImage.activity()
.setGuidelines(CropImageView.Guidelines.ON)
.start(SettingsActivity.this);
String name = binding.settingName.getText().toString().trim();
String phone = binding.settingPhone.getText().toString().trim();
if (name.isEmpty() || phone.isEmpty()) {
Toast.makeText(this, "من فضلك ادخل البيانات بشكل صحيح", Toast.LENGTH_SHORT).show();
binding.settingEmail.setError("ادخل البيانات");
binding.settingPhone.setError("ادخل البيانات");
return;
}
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("name", name);
hashMap.put("phone", phone);
firestore.collection("upload UserData").document(uid).update(hashMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(SettingsActivity.this, "تم رفع بياناتك بنجاح", Toast.LENGTH_SHORT).show();
} else {
String Errormessage = task.getException().getLocalizedMessage();
Log.i(TAG, "onComplete: " + Errormessage);
Toast.makeText(SettingsActivity.this, Errormessage, Toast.LENGTH_SHORT).show();
}
}
});
protected void onActivityResult(int requestCode, int resultCode, @Nullable 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) {
Uri imageURI = result.getUri();
binding.settingImage.setImageURI(imageURI);
UploadprofileImage(imageURI);
prograsbar_start();
} else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
Exception error = result.getError();
Toast.makeText(this, error.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
}
}
}
اقرء المزيد
private void UploadprofileImage(Uri imageURI) {
storageReference.child("ProfileImages").child(uid).putFile(imageURI).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
@Override
public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
if (task.isSuccessful()) {
Toast.makeText(SettingsActivity.this, "تم رفع الصورة بنجاح", Toast.LENGTH_SHORT).show();
getprofileimage();
} else {
String ErrorMessage = task.getException().getLocalizedMessage();
Log.i(TAG, "onComplete: " + ErrorMessage);
Toast.makeText(SettingsActivity.this, ErrorMessage, Toast.LENGTH_SHORT).show();
}
}
});
}
private void getprofileimage() {
storageReference.child("ProfileImages").child(uid).getDownloadUrl().addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
String imageurl = task.getResult().toString();
Log.i(TAG, "onComplete: " + imageurl);
updateprofileimage(imageurl);
} else {
String ErrorMessage = task.getException().getLocalizedMessage();
Log.i(TAG, "onComplete: " + ErrorMessage);
Toast.makeText(SettingsActivity.this, ErrorMessage, Toast.LENGTH_SHORT).show();
}
}
});
}
private void updateprofileimage(String imageurl) {
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("imageurl", imageurl);
firestore.collection("upload UserData").document(uid).update(hashMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(SettingsActivity.this, "تم رفع بياناتك بنجاح", Toast.LENGTH_SHORT).show();
prograsbar_stop();
} else {
String Errormessage = task.getException().getLocalizedMessage();
Log.i(TAG, "onComplete: " + Errormessage);
Toast.makeText(SettingsActivity.this, Errormessage, Toast.LENGTH_SHORT).show();
}
}
});
}
شاهد ايضا