gpt4 book ai didi

java - 如何更新 Firebase 数据库

转载 作者:行者123 更新时间:2023-12-02 13:28:21 24 4
gpt4 key购买 nike

在我的 Firebase 聊天应用程序中,我在用户使用 Google、电子邮件和密码或 Facebook 登录后注册时使用 setValue 插入用户名和个人资料照片的数据。然后在我的个人资料 Activity 中,我使用 valueEventListener 来显示用户照片和用户名,如果我在个人资料 Activity 中再次使用 setValue 方法,我就能够更新。但问题是它只更新当前数据,用户发布内容或评论的所有地方,用户名和个人资料照片保持不变。当用户在个人资料 Activity 中更新其信息时,有没有办法更新我数据库中的所有内容?

这是如何插入数据

StorageReference filepath = mStorageImage.child(mImageUri.getLastPathSegment());
filepath.putFile(mImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

String downloadUri = taskSnapshot.getDownloadUrl().toString();

mDatabaseUsers.child(user_id).child("name").setValue(name);
mDatabaseUsers.child(user_id).child("timestampjoined").setValue(timestamp);
mDatabaseUsers.child(user_id).child("image").setValue(downloadUri);

mProgress.dismiss();

然后在我的个人资料 Activity 中获取数据

mDatabaseUser.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String timestampjoined = (String) dataSnapshot.child("timestampjoined").getValue();
String profilename = (String) dataSnapshot.child("name").getValue();
String profilepicture = (String) dataSnapshot.child("image").getValue();


Glide.with(DDiaryProfileActivity.this).load(profilepicture)
.fitCenter().diskCacheStrategy(DiskCacheStrategy.ALL).into(mProfilePicture);

((CollapsingToolbarLayout) findViewById(R.id.toolbar_profile)).setCollapsedTitleTextAppearance(R.style.CollapsingToolBar);;
((CollapsingToolbarLayout) findViewById(R.id.toolbar_profile)).setTitle(profilename);


mTimeJoined.setText("Date joined : " + timestampjoined);
mProfileName.setText(profilename);

如何在保存此数据的所有位置进行更新?

最佳答案

问题不明确。请更详细地解释一下。发布您的数据库结构。

要在任何地方获取相同的数据,只需创建一个子项,例如

user
-userid
-name:username
-photo:url
-timestamp:12:30

使用用户姓名、照片、时间戳等,然后在您需要用户详细信息的任何位置获取这些详细信息。同时在您的个人资料 Activity 中更新此子项。因此,基本上您所做的就是从同一个子项中获取并更新所有值。

关于java - 如何更新 Firebase 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43292916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com