1

我正在尝试使用openFileOutput不是 Activity 类的类。当我写下面的东西时,它给了我空指针异常-

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

任何人都可以帮助我吗?

4

3 回答 3

4

如果你在非活动类中使用它,试试这个:

在您的活动类中尝试创建一个上下文,然后将其传递给您的类构造函数

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

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

现在应该没问题了:)

于 2012-10-18T06:01:12.590 回答
3

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

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

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

于 2011-03-25T03:32:09.890 回答
0

如果您从 Activity 开始您的第二堂课,您可以将您的上下文传递给它。

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

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

于 2011-03-25T08:21:57.723 回答