20

我使用 Appcelerator Titanium 开发了一个 Android 应用程序。这个应用程序将在 applicationDataDirectory 中创建一个文件并安装一个数据库。

如果在模拟器上运行,我可以使用“adb”命令找到这些文件。但是在Android设备上呢?我可以使用“我的文件”应用程序查看我创建的那些文件吗?(因为我可以在那里看到其他应用程序创建的文件。)

此外,我希望一旦我删除设备上的应用程序,它会自动删除相关文件和数据库。真的吗?

因为我发现即使我从设备中删除了应用程序,数据库似乎也被遗忘了。我可以说,因为在删除应用程序并在设备上重新运行(来自 Titanium)后,它会显示以前的数据。

我正在使用 Ti SDK 2.0.1GA2,Android 运行时 V8。并使用三星 Galaxy Tab 进行测试。提前致谢。

4

5 回答 5

28

应用程序私有数据文件存储在<internal_storage>/data/data/<package>

可以使用openFileOutput()openFileInput()访问存储在内部存储中的文件

当这些文件被创建为MODE_PRIVATE时,无法在另一个应用程序(例如 FileManager)中查看/访问它们。

于 2012-05-30T06:52:59.543 回答
8

在 Android 4.4 KitKat 上,我在以下位置找到了我的: /sdcard/Android/data/<app.package.name>

于 2014-04-25T09:48:43.133 回答
0

使用 Context.getDatabasePath(databasename)。可以从您的应用程序中获取上下文。

如果您取回以前的数据,则可能是 a) 数据存储在非常规位置,因此不会在卸载时删除,或者 b) Titanium 使用应用程序备份了数据(它可以这样做)。

于 2014-06-24T13:35:01.493 回答
0

您可以从您的 document_cache 文件夹、子文件夹(我的是 1946507)中获取 if。在那里,通过将 .pdf 添加到文件末尾来重命名“内容”,保存并使用任何 pdf 阅读器打开。

于 2015-09-27T21:52:41.230 回答
0

这是识别特定应用程序的应用程序相关存储路径的简单方法。

脚步:

  1. 将 android 设备连接到您的 mac 或 android 模拟器打开
  2. 打开终端
  3. 亚行外壳
  4. 寻找 。

“寻找”。命令将在终端中列出所有文件及其路径。

./apex/com.android.media.swcodec
./apex/com.android.media.swcodec/etc
./apex/com.android.media.swcodec/etc/init.rc
./apex/com.android.media.swcodec/etc/seccomp_policy
./apex/com.android.media.swcodec/etc/seccomp_policy/mediaswcodec.policy
./apex/com.android.media.swcodec/etc/ld.config.txt
./apex/com.android.media.swcodec/etc/media_codecs.xml
./apex/com.android.media.swcodec/apex_manifest.json
./apex/com.android.media.swcodec/lib
./apex/com.android.media.swcodec/lib/android.hidl.memory.token@1.0.so
./apex/com.android.media.swcodec/lib/libcodec2_soft_common.so
./apex/com.android.media.swcodec/lib/android.hardware.graphics.mapper@2.0.so
./apex/com.android.media.swcodec/lib/libcodec2_soft_vorbisdec.so
./apex/com.android.media.swcodec/lib/libcodec2_soft_h263dec.so
./apex/com.android.media.swcodec/lib/libhidltransport.so
./apex/com.android.media.swcodec/lib/libcodec2_soft_h263enc.so
./apex/com.android.media.swcodec/lib/libcodec2_vndk.so
./apex/com.android.media.swcodec/lib/android.hardware.graphics.mapper@2.1.so
./apex/com.android.media.swcodec/lib/libmedia_codecserviceregistrant.so
./apex/com.android.media.swcodec/lib/libhidlbase.so
./apex/com.android.media.swcodec/lib/libcodec2_soft_aacdec.so
./apex/com.android.media.swcodec/lib/libcodec2_soft_vp9dec.so
.....

之后,只需使用捆绑标识符搜索您的应用程序,您就可以使用 adb pull 命令将文件下载到本地目录。

于 2020-08-31T02:33:58.627 回答