cn1 - 将文件下载到手机的下载目录

时间:2016-02-16 22:51:26

标签: android codenameone downloading

我正在尝试允许应用程序将文件下载到公共“下载”目录,以便在设备上以通用方式提供。我成功地将模拟器中的文件下载到我的计算机上的.cn1目录中,但是我找不到一种直接的方法将文件放到设备上的公共目录中。我真的希望在FileSystemStorage类中有一个允许这样做的方法,但它们似乎都不是我想要的。

所以我尝试编写一个简单的本机桥来获取公共目录的路径,从Android开始。我有一个非常简单的类,看起来像这样:

public class DownloadDirectoryImpl {

    public static String getDownloadDirectory(){
        return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
    }

    public boolean isSupported(){
        return true;
    }
}

应用程序编译得很好,但是当我点击文件下载它时,我看到同一行在logcat中重复了几千次:

W/System.err:     at net.gesher.downloadDirectory.NativeDownloadDirectoryImpl.getDeviceDownloadDirectory(NativeDownloadDirectoryImpl.java:20)

但它没有说明错误是什么。

所以,我正在寻求建议a)改进我的android代码以使其工作,或b)cn1获取此目录路径的正确方法。

非常感谢!

1 个答案:

答案 0 :(得分:0)

如果你有很多行说...并且所有引用相同的方法,那么你有一个递归调用导致堆栈溢出。由于您提到的唯一方法是您的本机方法,我假设您在本机实现中调用了自己的方法并进入了递归循环。