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

アクティビティの不正なインスタンス化を正しいメソッドに置き換えると、この問題は解決しました。ファルマリー、ありがとうございました。

于 2010-08-17T13:36:55.773 に答える
0

ファイルをどこに書き込もうとしていますか?デバイスのSDカードにある場合は、Androidマニフェストで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 に答える