开发者社区> 问答> 正文

如何从Android模拟器应用程序写入本地PC文件

我一直在搜索数小时,并且遇到了很多关于只读内容,文件夹和目录以及查看电话fs等的废话。

我要做的就是写入PC上用于Android项目的文件。我尝试使用本地路径(Windows),并且遇到了只读fs系统问题,即使在将所需的文件夹完全转换为读写之后,Android也拒绝获取它。我在清单中使用WRITE_EXTERNAL_STORAGE和WRITE_INTERNAL_STORAGE设置了使用权限,但没有运气。

我已经尝试通过模拟器和实际的物理电话来写电话,但是我进行的每次搜索都没有结果(搜索文件名)。

如何将开发源代码所在的任何文件写入日志文件?我需要从Web服务调用中提取JSON数据,并且需要将其写入本地文件,以便可以使用它。调用是通过Android(当前为仿真器,是在物理设备上进行安装)进行的,但是没有写入日志,因为要么是无意义的只读问题,要么就是我找不到该死的文件。

任何帮助将不胜感激。

问题来源:Stack Overflow

展开
收起
montos 2020-03-27 17:07:29 723 0
1 条回答
写回答
取消 提交回答
  • 我想我最终提出的问题太混乱了。我想知道在Android设备上哪里可以找到“本地”日志,我可以在某些文本编辑器中打开并阅读自己的日志。我还想知道通过模拟器测试应用程序时,“本地”日志/文件在哪里写入了我的硬盘。

    在这一点上,我还没有发现任何与日志文件或任何任意文件相关的东西,这些文件都可以从Android应用程序写入本地dev PC,而不会从诸如此类的文件中拉出adb。

    我找到了可以在其中将任意文件写入仿真器或电话的文件系统的解决方案(来源:https : //www.journaldev.com/9383/android-internal-storage-example-tutorial):

    FileOutputStream fos = Main.getAppContext().openFileOutput( "myfile.txt", Context.MODE_PRIVATE );
    fos.write( "Hello, world".getBytes() );
    fos.close();
    

    需要注意的事情(至少是Android SDK 26+,其他未经测试):

    1. FileOutputStream 效果很好。
    2. “主要”指的是您用于应用程序的任何入口点类。它很可能(或必须?)扩展AppCompatActivity。
    3. Context.MODE_PRIVATE 似乎是必需的。
    4. READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, READ_INTERNAL_STORAGE, WRITE_INTERNAL_STORAGE似乎不需要AndroidManifest.xml权限。
    5. 重要提示:文件将保存到/data/data/YOUR.APP.PACKAGE/files/。 这也很有帮助:https : //developer.android.com/training/data-storage

    回答来源:Stack Overflow

    2020-03-27 17:08:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载

相关实验场景

更多