Как можно сохранить файл на Android-телефоне, а не на SD-карте? Я знаю, что для sdcard, как вы это делаете, вызывается Environment.getExternalStorageDirectory(). GetAbsoluteDirectory(); или что-то в этом роде, я все равно работаю. Но я хочу, чтобы сохранить на свой телефон вместо этого, мне нужно разрешение в моем манифесте для этого? Я попытался заменить getexternalst.... на getDataDirectory, но это, похоже, не сработало.
Как всегда, пожалуйста и спасибо :)
EDIT---------------
03-15 21: 29: 26.213: W/dalvikvm (21686): threadid = 1: поток, выходящий с неперехваченным исключением (группа = 0x2aac8578) 03-15 21: 29: 26.213: E/AndroidRuntime (21686): FATAL EXCEPTION: main 03-15 21: 29: 26.213: E/AndroidRuntime (21686): java.lang.RuntimeException: не удалось создать экземпляр активности ComponentInfo {com.alphaphonefinder/com.alphaphonefinder.Main}: java.lang.NullPointerException
Вы можете использовать Context#getFilesDir
Чтобы получить полный путь как String (предположим, что this
Activity):
String path = this.getFilesDir().getAbsolutePath();
Самый простой способ - вызвать Context#openFileOutput(String, int)
который берет String для имени файла и int, определяя этот режим, и возвращает FileOutputStream. Затем вызовите запись в FileOutputStream, передав ей массив байтов ваших данных. Обязательно закройте FOS, когда закончите.
edit: Если вам нужен только внутренний каталог файлов, попробуйте Context#getFilesDir
который возвращает файл, а getPath()
или getAbsolutePath()
в файле вернет каталог как String.