我在数据库中有一个图像,它具有预定义的路径。我将使用Datasnapshot进行查询,并查看路径是否为我确定的路径,然后转到下一步,该步骤将负责保存新照片而不删除旧的默认图像并保留在Firebase存储中。如果它不是预期的URL,那么执行删除Firebase图像的过程。检查是否存在URL使用Datasnapshot的Firebase数据库
目前您正在忽略我的查询,并且已经进入下一步,即删除图像。我怎样才能检查这个URL,如果没有任何任务?
代码:
*fotoEmpresaDB = FirebaseDatabase.getInstance().getReference().child("Empresas").child(user_id).child("foto_capa");*/
fotoEmpresaDB.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.equals("https://firebasestorage.googleapis.com/v0/b/name-database/Default%2Fprofiledefault.jpg?alt=media&token=ad1ce6b7-1195-40fa-a88a-affade7517b0")){
/*Method that saves image without deleting the previous image*/
salvarDadosImagem();
} else {
mProgress.setMessage("Deleting image....");
mProgress.show();
mProgress.setCancelable(false);
String url = dataSnapshot.getValue(String.class);
mStorageUrl = FirebaseStorage.getInstance().getReferenceFromUrl(url);
mStorageUrl.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
salvarDadosImagem();
}
我曾尝试为:datasnapshot.hashChild( “URL”)。
发生此错误:无效的火力地堡数据库路径:火力地堡数据库路径不能包含‘#’,‘$’,‘[’或‘]’
解决方案:String url = dataSnapshot.getValue(String.class);如果(url.contentEquals(“https:// URL”)){}。谢谢你的帮助 – TiagoIB
啊,对不起......我错过了你的问题是针对Android的。语法在这里确实“稍微”不同。很好,你找到了它。 :-)如果我的回答很有用,请点击左侧的upvote按钮。 –