Android:Firebase存储:将JSON文件作为临时文件下载



我非常困惑,我尝试了几件事:我想从firebase下载一个纯文本文件,然后将其下载到我的本地临时文件空间中。这很好。现在,我想在外部类中使用此文件的整个文本。我该怎么做?

在这里我的代码段:

private void getFireBaseStorage() {
    FirebaseStorage storage =
            FirebaseStorage.getInstance();
    StorageReference storageRef =
            storage.getReferenceFromUrl("gs://URL")
                    .child("filename.json");
    try {
        final File localFile = File.createTempFile("file", "json");
        storageRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
                Log.i("FireBase", "File is present " + Long.toString(localFile.length()));
                try {
                    FileReader fr = new FileReader(localFile);
                    BufferedReader br = new BufferedReader(fr);
                    String sCurrentLine;
                    while ((sCurrentLine = br.readLine()) != null) {
                        mJSONReturnValue += sCurrentLine;
                    }
                    System.out.println(mJSONReturnValue);
                } catch (IOException exception) {
                    exception.printStackTrace();
                }    
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception exception) {
                Log.i("FireBase", "File is not there");
            }
        });
        // Log.i("FireBase", result.());
    } catch (IOException ioexception) {
        ioexception.printStackTrace();
    }

问题是:我尝试从firebase存储中下载更大的文件。该文件有大约。1.3 MB,需要将近3分钟。用

.addoncompletelistener(新 oncompletelistener(){ @Override public void oncomplete(@nonnull任务){ log.i(标签,"完成"); firebasestorage.this.returnvalue = returnValue; showvalue(); }

可以返回适当的值,但不是那么有效。也许这不是Firebase存储的主要建议。

欢呼,bjoern

相关内容

  • 没有找到相关文章

最新更新