在Codename中下载文件

时间:2016-10-04 16:07:15

标签: codenameone

嘿,我一直在尝试使用Util.downloadUrlToFileSystemInBackground方法,但它无法工作。当我运行代号为One simulator时,它会卡在循环中。我想要的是下载在后台工作,加上我会还要显示下载进度。下面是负责下载的代码

    Map<String, String> data = myList.get(i);
               String link = data.get("fileurl");
                Util.downloadUrlToFileSystemInBackground(link,title,   new ActionListener() {
                    public void actionPerformed(ActionEvent evt) {
                        try{
                            InputStream is = Storage.getInstance().createInputStream(link);
                            Media mm = MediaManager.createMedia(is, "audio/mp3");
                            mm.play();
                        }
                        catch (IOException ex) {
                            ex.printStackTrace();
                        }
                    }
                });

1 个答案:

答案 0 :(得分:0)

您将URL下载到名为title的文件,然后在下载完成后在回调中尝试打开Storage文件(文件系统文件)。

我猜测标题不是一个有效的文件...

这不应该进入循环但它不会起作用。一个明显的解决方法是将downloadUrlToFileSystemInBackground替换为downloadUrlToStorageInBackground

请注意Storage!= FileSystemStorage