Где файл данных приложения фактически хранится на устройстве Android?
Я разработал приложение для Android, используя Appcelerator Titanium. Это приложение создаст файл в applicationDataDirectory и также установит базу данных.
Если запустить эмулятор, я могу найти эти файлы, используя команду adb. Но как насчет Android-устройства? Могу ли я использовать приложение "Мои файлы" для просмотра тех файлов, которые я создал? (так как я вижу файлы, созданные другим приложением там.)
Кроме того, я ожидаю, как только я удалю приложение на устройстве, он автоматически удалит связанные файлы и базу данных. Это правда?
Поскольку я обнаружил, что даже я удалил приложение с устройства, база данных кажется оставленной. Я могу сказать, что после удаления приложения и повторного запуска на устройстве (из Titanium) он показывает предыдущие данные.
Я использую Ti SDK 2.0.1GA2, Android Runtime V8. И использование Samsung Galaxy Tab для тестирования.
Спасибо заранее.
Ответы
Ответ 1
Приложения Файлы личных данных хранятся в <internal_storage>/data/data/<package>
Доступ к файлам, хранящимся во внутреннем хранилище, можно получить с помощью openFileOutput() и openFileInput()
Когда эти файлы создаются как MODE_PRIVATE, их невозможно увидеть/получить в другом приложении, таком как FileManager.
Ответ 2
В Android 4.4 KitKat я нашел свою в:
/sdcard/Android/data/<app.package.name>
Ответ 3
Используйте Context.getDatabasePath(имя_базы). Контекст может быть получен из вашего приложения.
Если вы получите предыдущие данные назад, это может быть: a) данные были сохранены в нетрадиционном месте и поэтому не удалены при удалении или b) Titanium выполнил резервное копирование данных с помощью приложения (он может это сделать).
Ответ 4
Вы можете получить, если в папке document_cache, вложенной папке (мой - 1946507). После этого переименуйте "контент", добавив .pdf в конец файла, сохраните и откройте любой PDF-ридер.