gpt4 book ai didi

java - Android Studio写文件时渲染问题

转载 作者:行者123 更新时间:2023-12-02 08:46:48 24 4
gpt4 key购买 nike

我有一个非常简单的代码,可以写入这样的文件 -

val path = context.getExternalFilesDir(null)?.absolutePath + "/user_id"
var file = File(path)
file.writeText("user id")

这在模拟器上运行没有问题。

但是,当我在 Android Studio 上编辑此内容时,我正在使用的layout.xml(调用上面的代码)的渲染失败,引用 file.writeText 上的错误代码行

更具体地说,我在调用堆栈上收到此异常 -

java.io.FileNotFoundException: null\user_id (The system cannot find the path specified)

换句话说,上面的代码在模拟器中运行良好,但在 Android Studio 布局预览中运行不佳。

有人对这个项目有什么想法吗?

最佳答案

布局预览正在渲染 View 。我能想到为什么这段代码会在 Android Studio 布局预览中运行的唯一原因是:

  • 您编写了一个自定义 View (这很好),并且

  • 该自定义 View 正在尝试执行磁盘 I/O(这不好)

因此,最好的解决方案是将磁盘 I/O 移至更合适的位置(例如存储库对象)。

如果您确定要将代码保留在原来的位置,请将其包装在 a check for isInEditMode() 中如果处于编辑模式,则不要执行 I/O。这意味着代码在 IDE 中运行,Context 上的许多功能(例如 getExternalFilesDir())将不起作用。

关于java - Android Studio写文件时渲染问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61022047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com