第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

選擇圖片并裁剪后如何將個(gè)人資料圖片更新為 firebase?

選擇圖片并裁剪后如何將個(gè)人資料圖片更新為 firebase?

慕妹3242003 2023-05-17 17:20:31
選擇圖片并裁剪后,如何將當(dāng)前用戶個(gè)人資料圖片更新到 firebase?這是我的代碼:@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    if (requestCode == CropImage.PICK_IMAGE_CHOOSER_REQUEST_CODE && resultCode == RESULT_OK){        Uri imageUri = CropImage.getPickImageResultUri(getActivity(),data);        cropRequest(imageUri);    }    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE){        CropImage.ActivityResult result = CropImage.getActivityResult(data);        if (resultCode == RESULT_OK){            try {                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), result.getUri());                imgUserProfile.setImageBitmap(bitmap);                final ProgressDialog pd = new ProgressDialog(getContext());                pd.setMessage("Please wait ");                pd.show();            } catch (IOException e){                e.printStackTrace();            }        }    }}我如何從那里繼續(xù)?有什么建議么?
查看完整描述

2 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

有很多選擇:

  1. 我會(huì)使用的最有用的方法之一是將圖片上傳到Firebase Storage.?上傳它真的很容易,每當(dāng)您的用戶再次登錄時(shí),您都可以將文件下載到本地存儲(chǔ)以供日常使用。

  2. 另一種選擇(這有點(diǎn)笨拙)可能是將位圖的像素?cái)?shù)組存儲(chǔ)在 firebase 節(jié)點(diǎn)中。它非???,您可以將其存儲(chǔ)在您的 firebase 數(shù)據(jù)庫(kù)中,也可以存儲(chǔ)在您的共享首選項(xiàng)中。通過(guò)使用額外的壓縮功能,您甚至可以增強(qiáng)該功能。

但是,我建議使用 firebase 存儲(chǔ),因?yàn)樗俏ㄒ坏陌踩x項(xiàng)。所以去吧。

查看完整回答
反對(duì) 回復(fù) 2023-05-17
?
慕運(yùn)維8079593

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊

這是對(duì)我有用的選項(xiàng)。首先,確保你的 firebase 正確設(shè)置了實(shí)時(shí)數(shù)據(jù)庫(kù)和存儲(chǔ)。然后在你的構(gòu)建gradle中;


implementation 'de.hdodenhof:circleimageview:2.2.0'

implementation 'com.squareup.picasso:picasso:2.5.2'

在更新個(gè)人資料圖像的活動(dòng)中,創(chuàng)建對(duì)圖像的引用和 Firebase Storagebase 引用。還要添加這四行:


private FirebaseAuth mAuth;

private DatabaseReference UsersRef;

private CircleImageView ProfileImage;

private StorageReference UserProfileImageRef;

String currentUserID;

final static int Gallery_Pick = 1;

在您的 onCreate 方法中,包括以下代碼行:


mAuth = FirebaseAuth.getInstance();

currentUserID = mAuth.getCurrentUser().getUid();

UsersRef= FirebaseDatabase.getInstance().getReference().child("Users").child(currentUserID);

UserProfileImageRef = FirebaseStorage.getInstance().getReference().child("Profile Images");`

另外,將其添加到您的 on create 方法中。這允許用戶更新他們的圖片:


UsersRef.addValueEventListener(new ValueEventListener() {

? ? ? ? @Override

? ? ? ? public void onDataChange(DataSnapshot dataSnapshot)

? ? ? ? {

? ? ? ? ? ? if(dataSnapshot.exists())

? ? ? ? ? ? {

? ? ? ? ? ? ? ? if (dataSnapshot.hasChild("profileimage"))

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? String image = dataSnapshot.child("profileimage").getValue().toString();

? ? ? ? ? ? ? ? ? ? Picasso.with(SetupActivity.this).load(image).placeholder(R.drawable.profile).into(ProfileImage);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? Toast.makeText(SetupActivity.this, "Please select profile image first.", Toast.LENGTH_SHORT).show();

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }`


? ? ? ? @Override

? ? ? ? public void onCancelled(DatabaseError databaseError) {


? ? ? ? }

? ? };

這將允許用戶從他的設(shè)備中選擇不同的個(gè)人資料圖像。它還將允許用戶裁剪圖像以適合屏幕。


@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data)

{

? ? super.onActivityResult(requestCode, resultCode, data);


? ? if(requestCode==Gallery_Pick && resultCode==RESULT_OK && data!=null)

? ? {

? ? ? ? Uri ImageUri = data.getData();


? ? ? ? CropImage.activity()

? ? ? ? ? ? ? ? .setGuidelines(CropImageView.Guidelines.ON)

? ? ? ? ? ? ? ? .setAspectRatio(1, 1)

? ? ? ? ? ? ? ? .start(this);

? ? }


? ? if(requestCode==CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE)

? ? {

? ? ? ? CropImage.ActivityResult result = CropImage.getActivityResult(data);


? ? ? ? if(resultCode == RESULT_OK)

? ? ? ? {

? ? ? ? ? ? loadingBar.setTitle("Profile Image");

? ? ? ? ? ? loadingBar.setMessage("Please wait, while we updating your profile image...");

? ? ? ? ? ? loadingBar.show();

? ? ? ? ? ? loadingBar.setCanceledOnTouchOutside(true);


? ? ? ? ? ? Uri resultUri = result.getUri();


? ? ? ? ? ? StorageReference filePath = UserProfileImageRef.child(currentUserID + ".jpg");


? ? ? ? ? ? filePath.putFile(resultUri).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {

? ? ? ? ? ? ? ? @Override

? ? ? ? ? ? ? ? public void onComplete(@NonNull final Task<UploadTask.TaskSnapshot> task)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? if(task.isSuccessful())

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(SetupActivity.this, "Profile Image stored successfully to Firebase storage...", Toast.LENGTH_SHORT).show();


? ? ? ? ? ? ? ? ? ? ? ? final String downloadUrl = task.getResult().getDownloadUrl().toString();


? ? ? ? ? ? ? ? ? ? ? ? UsersRef.child("profileimage").setValue(downloadUrl)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .addOnCompleteListener(new OnCompleteListener<Void>() {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? public void onComplete(@NonNull Task<Void> task)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(task.isSuccessful())

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Intent selfIntent = new Intent(SetupActivity.this, SetupActivity.class);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? startActivity(selfIntent);


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(SetupActivity.this, "Profile Image stored to Firebase Database Successfully...", Toast.LENGTH_SHORT).show();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? loadingBar.dismiss();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String message = task.getException().getMessage();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(SetupActivity.this, "Error Occured: " + message, Toast.LENGTH_SHORT).show();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? loadingBar.dismiss();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? });

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? });

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? Toast.makeText(this, "Error Occured: Image can not be cropped. Try Again.", Toast.LENGTH_SHORT).show();

? ? ? ? ? ? loadingBar.dismiss();

? ? ? ? }

? ? }

} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

查看完整回答
反對(duì) 回復(fù) 2023-05-17
  • 2 回答
  • 0 關(guān)注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)