【问题标题】:error: cannot find symbol messageTextBody.put("message", task.getResult().getDownloadUrl().toString());错误:找不到符号 messageTextBody.put("message", task.getResult().getDownloadUrl().toString());
【发布时间】:2019-10-04 10:40:22
【问题描述】:

我在编译应用程序时收到错误消息。它说

task.getResult().getDownloadUrl().toString() 找不到符号

filePath.putFile(fileUri).addOnCompleteListener(task -> {
         if (task.isSuccessful()){
                        Map messageTextBody = new HashMap();
                        messageTextBody.put("message", task.getResult().getDownloadUrl().toString());
                        messageTextBody.put("name", fileUri.getLastPathSegment());
                        messageTextBody.put("type", checker);
                        messageTextBody.put("from", messageSenderID);
                        messageTextBody.put("to", messageReceiverID);
                        messageTextBody.put("messageID", messagePushID);
                        messageTextBody.put("time", saveCurrentTime);
                        messageTextBody.put("date", saveCurrentDate);
                        Map messageBodyDetails = new HashMap();
                        messageBodyDetails.put(messageSenderRef + "/" + messagePushID, messageTextBody);
                        messageBodyDetails.put(messageReceiverRef + "/" + messagePushID, messageTextBody);
                        RootRef.updateChildren(messageBodyDetails);
                        loadingBar.dismiss();
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        loadingBar.dismiss();
                        Toast.makeText(ChatActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
                    }
                }).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
                    @Override
                    public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
                        double p = (100.0*taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
                        loadingBar.setMessage((int) p + " % Uploading...");
                    }
                });

【问题讨论】:

  • task.getResult().getDownloadUrl().toString() 的 key("message") 必须与服务器的 json 相同
  • 同样的先生,但我不知道为什么它给我这个错误,这里是代码 [链接](https:github.com/sadsouler/Chat)
  • 将 task.getResult().getDownloadUrl() 替换为 task.getResult().getStorage().getDownloadUrl()。原因在 stackoverflow.com/a/50159199/10340422 中提到:StorageMetadata 类的 getDownloadUrl() 和 getDownloadUrls() 方法现已弃用。请改用 StorageReference 中的 getDownloadUrl()。
  • 当然我会尝试
  • 我试过了,但应用程序崩溃并把我送到主要活动

标签: java android


【解决方案1】:

问题是

task.getResult().getDownloadUrl().toString());

替换为

task.getResult().toString();

【讨论】:

  • 如果我这样做了,我将如何查看手机中的文件
猜你喜欢
  • 2018-11-08
  • 1970-01-01
  • 1970-01-01
  • 2018-11-06
  • 2020-02-08
  • 1970-01-01
  • 2014-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多