簡體   English   中英

Android-保存到文本文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM