2012-02-23 3 views
0

Я новичок в Android и получил проблемы с хранением файла во внутренней памяти. Я прочитал учебник об этом в документах android и скопировал код. Если я запускаю приложение в симуляторе, файл создается, и все в порядке, но если я запустил его на реальном телефоне, я не могу найти файл ?! Поскольку я использую openFileOutput(), он должен быть сохранен в папке приложения в Android/data/myApp/..., но на самом деле эта папка для моего приложения не существует ...:/Хранение файлов на Android-телефоне

Может кто-нибудь мне помочь?

Вот мой код:

String FILENAME = "hello_file"; 
    String string = "hello world!"; 

    FileOutputStream fos; 
    try { 
     fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
     fos.write(string.getBytes()); 
     fos.close(); 
    } catch (FileNotFoundException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    }catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

+1

Включили ли вы это в файл манифеста: \t ''? –

+0

Я получил , так как я только пишу во внутреннюю память – user1086105

+0

oh noooo, теперь я вижу, я что-то испортил. Конечно, расположение Access_fine - это нечто совершенно другое! Спасибо за ваш комментарий! теперь он отлично работает :) – user1086105

ответ

0

Папка данных является невидимой для всех пользователей, кроме учетной записи пользователя вашего приложения работает в вам нужны права суперпользователя, чтобы просмотреть содержимое этой папки..

Для целей тестирования вы можете сохранить его как MODE_READ_WORLD (или что-то еще), тогда вы сможете его увидеть. Однако при публикации приложения рекомендуется восстановить его до MODE_PRIVATE.

+0

О, извините, это была ошибка копирования. Это не работает для меня с MODE_WORLD_WRITEABLE либо ... – user1086105

+0

Вы не можете видеть папку своего приложения в каталоге/data, но вы все равно можете изменить ее с помощью команды cd. – ramdroid

+0

Это еще не работает. На самом деле, я должен быть более точным: когда я запускаю приложение в виртуальном симуляторе, все в порядке, и файл создается, и я вижу его ... Если я запустил приложение на своем телефоне с помощью режима usb-debugging, я даже не вижу файл в файловом обозревателе eclipse во время запуска приложения, по крайней мере там, я должен увидеть его правильно? – user1086105

0

В реальном телефоне вы не можете получить доступ к папке с данными. только если телефон укоренен, вы можете получить доступ к папке с данными, но вы можете проверить в эмуляторе, создан ли файл или нет.

+0

Таким образом, я не могу получить доступ к файлам через файл-проводник, созданный моим приложением с режимом записи в мире? Мое сидение состоит в том, что я хочу записать некоторые данные на свой телефон, сохранить его в файл, а затем скопировать его на свой компьютер ... – user1086105

Смежные вопросы