Где файл данных приложения фактически хранится на устройстве 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-ридер.