Я экспериментирую с Android, и я дошел до того, что хочу что-то сохранить во внутренней памяти и прочитать из него, но я как бы застрял. Я нашел эту статью http://developer.android.com/guide/topics/data/data-storage.html#filesInternal и как он предложил, чтобы я создал фиктивный метод:Сохранить файл в android памяти
public void test(){
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
}
Который всегда бросает NullPointerException, кто знает, что я пропускаю Может быть некоторое разрешение в AndroidManifest.xml?
ВОПРОС UPDATE:
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
Выше линии trows NPE. Мой класс является абстрактным и его расширяющим Управлением, я не знаю, является ли это актуальным или нет.
Стек след:
01-29 22:30:44.575: ERROR/TEST(458): java.lang.NullPointerException
01-29 22:30:44.575: ERROR/TEST(458): java.lang.RuntimeException: java.lang.NullPointerException
кажется, что любая операция IO бросает NPE, я попытался это так:
try {
File myDir = new File(getFilesDir().getAbsolutePath());
String s = "";
FileWriter fw = new FileWriter(myDir + "/Test.txt");
fw.write("Hello World");
fw.close();
BufferedReader br = new BufferedReader(new FileReader(myDir + "/Test.txt"));
s = br.readLine();
// Set TextView text here using tv.setText(s);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
File myDir = new File(getFilesDir().getAbsolutePath());
Броски NPE, я даже добавил
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
в Androidmanifest.xml
Я сделал метод и передал в Context ctx, но мой ctx заканчивается нулевым, как я могу получить эту переменную? установить его на какое значение?
Какая линия выбрасывает NPE? Вызов для .write()? или где-то еще? – jhouse
На какой строке он бросает 'NullPointerException'? Другими словами, какой объект имеет значение null? – CommonsWare
@James House @CommonsWare Я обновил вопрос – ant