在android上的javafxports中添加要读写的文件

时间:2015-04-02 14:14:07

标签: java android javafx robovm javafxports

我希望在我的JavaFXPorts Android和iOS上有一些配置文件。 但似乎并不像我预期的那样容易。

有没有人有任何想法接近解决方案?

我已经尝试过了。在我的概念证明中,我有XML文件,可以读取和写入。当我将它部署到java jar时,它工作得很好。但在Android上似乎无法找到xml文件。

这里是这些概念验证的回购。 https://bitbucket.org/bluetonic/xmlreadwritefx 随意查看:)

最诚挚的问候,

伊万

1 个答案:

答案 0 :(得分:1)

对于Android,您的apk安装在某个路径中,您可以使用Context.getFilesDir()link)检索可以存储文件的本地路径:

  

返回文件系统上目录的绝对路径,其中存储使用openFileOutput(String,int)创建的文件。

要从JavaFX线程访问上下文,您需要使用:

Context context = FXActivity.getInstance();

现在您可以使用上述方法检索文件。

例如,您可以在Android / Java包上创建此帮助程序类:

import javafxports.android.FXActivity;
import android.content.Context;
import java.io.File;

public class FileManager {
    private final Context context;

    public FileManager(){
        context = FXActivity.getInstance();
    }

    public File getFile(String fileName){
        return new File(context.getFilesDir(), fileName);
    }

}

如果您在Android上运行,现在可以调用此类的实例,而如果您在桌面上运行,仍然可以使用标准方法。

使用PlatformProvider查看此博客post以了解具体方法。我用它来读取和写入属性文件,但我没有看到XML文件的任何区别。