openFileOutput中的空指针

时间:2011-03-25 03:27:26

标签: java android nullpointerexception android-context

我正在尝试使用非Activity类的openFileOutput。当我正在写下面的内容时,它会给我空指针异常 -

try {
            Context con = null;
            fosCAM = con.openFileOutput(camFile, Context.MODE_PRIVATE);
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }    

有人可以帮我吗?

3 个答案:

答案 0 :(得分:4)

如果您在非活动类中使用它,请尝试此操作:

在Activity类中尝试创建一个Context,然后将其传递给Class Constructor

在你的类中获取类构造函数和函数中的上下文(将保存文件)获取一个额外的参数,即Context。现在使用yourContext.openFileOutput,与此相同:

public void SaveFileIntoStorage(String xml,Context cn) throws IOException

现在应该没问题:)

答案 1 :(得分:3)

您正在接收空指针异常,因为您将Context变量con设置为null,然后使用con.openFileOutput引用它。

在活动中,您在哪里使用此代码?

如果此代码在您的Activity中,只需删除Context变量并调用openFileOutput。您可以这样做,因为Activity派生自Context。如果代码在另一个类中,则应将上下文传递给类并使用它。

答案 2 :(得分:0)

如果您从一个活动开始第二堂课,您可以将其传递给您的背景。

new SecondClass(getBaseContext()).start();

getBaseContext()将返回您的上下文,但您应该从Activity或同等类中调用它。