[英]Android - Save to a text file
我正在嘗試將文本寫入文件,但似乎無法正常工作。
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未定義。 有人可以幫我從這里出去嗎?
您將必須通過調用活動傳遞上下文:
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());
}
}
如何在活動中使用它:
YOUR_UTIL_CLASS.saveState(this);
以下內容不起作用:
Context con = getApplicationContext();
原因: getApplicationContext()
是屬於ContextWrapper
的方法。 類Activity
擴展了ContextWrapper
,因此可以訪問此方法。 方法saveState(..)
可能位於實用程序類中。 getApplicationContext()
在那里沒有定義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.