1

似乎不需要为文件 io 设置任何 Android 清单权限。

public class Device extends Activity {
    private static final Configuration config = new Configuration();
    ...
    private boolean applyMenuChoice(MenuItem item) {
        switch (item.getItemId()) {
        ...
        case R.id.menuSave:
            ...
            configuration.modify(name, to, from, user);
            configuration.write();
            ...

public class Configuration extends Activity {
    private final static String CONFIG = "config.txt";
    private static StringBuilder config = new StringBuilder();
    ...
    public void write() {
        try {
            FileOutputStream fos = openFileOutput(CONFIG, Context.MODE_PRIVATE);
            fos.write(config.toString().getBytes());
            ...
4

3 回答 3

1

用正确的方法替换活动的非法实例化解决了这个问题。非常感谢你(再次)Falmarri。

于 2010-08-17T13:36:55.773 回答
0

你想把你的文件写到哪里?如果它在设备的 SD 卡上,您需要在您的 android-manifest 中设置 WRITE_EXTERNAL_STORAGE-permission。您可能还需要设置路径,而不仅仅是使用文件名。

于 2010-08-16T16:01:52.713 回答
0

当此指针不正确时,在这种情况下会引发异常。您可能像常规对象一样使用其 ctor 创建活动,而不是使用意图的启动活动。在这种情况下,不要调用 openFileOutput 或 this.openFileOutput ,但您应该将您所在的上下文作为参数发送给 write() 函数,并使用此上下文,即:

write(Context context)
{
     context.openFileOutput(...)
     ...
于 2012-03-08T20:16:12.123 回答