有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android文件系统可以从非活动类写入java吗?

我正在编写一个应用程序,需要每隔一段时间从安卓文件系统中进行写入和读取。该应用程序由一个ActionBarActivity组成,它承载三个不同的片段。我的计划是创建一个模型类来管理我所有的数据,并在它认为合适的时候读/写安卓文件系统。到目前为止,我还不知道如何让一个不是活动的类访问这些功能

如果可能的话,我的最终目标是允许I/O在模型类中独立工作,以尽可能少地保持耦合

下面是我试图在模型中运行的当前代码

private String readFromFile() {

    String ret = "";
    Scanner s;

    ArrayList<Player> loadedRosterList = new ArrayList<Player>();
    try {
        InputStream inputStream = openFileInput("applicationRoster.txt");

        if ( inputStream != null ) {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String receiveString = "";

            while ( (receiveString = bufferedReader.readLine()) != null ) {
                s = new Scanner(receiveString);
                s.useDelimiter(",");

                Player newP = new Player(s.next(), s.next(), s.next());
                loadedRosterList.add(newP);
            }

            inputStream.close();

            currentRoster.replacePlayers(loadedRosterList);
        }
    }
    catch (FileNotFoundException e) {
        Log.e("login activity", "File not found: " + e.toString());
    } catch (IOException e) {
        Log.e("login activity", "Can not read file: " + e.toString());
    }

    return ret;
}

共 (1) 个答案

  1. # 1 楼答案

    您可以将Context传递给您的方法:

    private String readFromFile(Context context) {
    
    }
    

    注意不要将上下文泄漏到该方法之外,以避免内存泄漏