gpt4 book ai didi

java - Android - 保存到文本文件

转载 作者:行者123 更新时间:2023-12-01 14:04:14 24 4
gpt4 key购买 nike

我正在尝试将文本写入文件,但我似乎无法让它工作。

public static void saveState(){

String data = age + "," ;
FileOutputStream fos;
Context con = getApplicationContext();
try {
fos = con.openFileOutput("state", 0);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fos);
outputStreamWriter.write(data);
outputStreamWriter.close();
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}


}

我环顾四周,似乎我无法在没有上下文的情况下调用 openFileOutput() ,但不知道“Context con = getApplicationContext()”不会在 Activity 之外工作。它只是告诉我该类型的 getapplicationcontext 未定义。有人可以帮我吗?

最佳答案

您必须从调用 Activity 传递上下文:

public static void saveState(Context context){

String data = age + "," ;
FileOutputStream fos;

try {
fos = context.openFileOutput("state", 0);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fos);
outputStreamWriter.write(data);
outputStreamWriter.close();
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
}

如何从 Activity 中使用它:

YOUR_UTIL_CLASS.saveState(this);

以下内容将不起作用:

Context con = getApplicationContext();

原因:getApplicationContext() 是属于 ContextWrapper 的方法。 Activity 类扩展了 ContextWrapper,因此可以访问此方法。方法 saveState(..) 可能驻留在实用程序类中。 getApplicationContext() 未在那里定义。

关于java - Android - 保存到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19062746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com