作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 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/
我是一名优秀的程序员,十分优秀!