【问题标题】:How to create directory or files on the internal storage of android device in react native?react-native 如何在android设备的内部存储上创建目录或文件?
【发布时间】:2020-07-07 07:57:34
【问题描述】:

如何使用 react-native 在 android 设备的内部存储上创建目录?我不想使用 ReactNativeFS 等任何库。

您可能建议的可能解决方案是编写自己的模块。但我不擅长 Java 或 Kotlin。如果我知道 Kotlin 或 Java,那么我就不会使用框架 React Native。

之前,我在 SQLite 中存储数据时遇到了问题,我发现在 react native 中无法做到这一点。唯一的方法是依赖一些外部库。框架本身不能做任何事情。它似乎只是 Facebook 的品牌,因为这个框架中的所有东西都需要依赖。

有没有任何方法可以在没有任何外部依赖项/模块的情况下做到这一点?

【问题讨论】:

标签: android reactjs react-native


【解决方案1】:

谢谢我的回答。它只是以 Kotlin 作为工具从 React Native 切换到 Android Studio。

【讨论】:

  • 你为什么不喜欢使用像 react native FS 这样的依赖项.. 不安全吗????
  • 依赖项会在您的应用程序中创建安全漏洞,您的应用程序越容易受到攻击,因此我们会尽量减少依赖项,毕竟框架不会要求您为这些东西安装依赖项,如果它那么它不是一个好的框架。
  • 我同意,但反应本身,以图书馆而闻名.. 否则你可以(或有需要的人)应该创建自己的图书馆(包).....我认为大公司创建他们的拥有 npm 包。
【解决方案2】:

我和你有同样的问题,但后来我发现了一个解决办法。

请按以下步骤操作:

  1. 安装 rn-fetch-blob 包,here is the doc

  2. 转到您的 AndriodManifest.xml 添加 => android:requestLegacyExternalStorage="true" 在您的应用程序标签内,就像这样 <application android:requestLegacyExternalStorage="true" ... />

  3. 在你的根 android/build.gradle 改变这个:

     buildToolsVersion = "29.0.3"
     minSdkVersion = 16
     compileSdkVersion = 29
     targetSdkVersion = 29
    

【讨论】:

  • 谢谢,但它只是增加了另一个依赖项,我只是想回答我自己的问题?究竟什么是框架?我希望你也向自己提出同样的问题。您将看到: 框架并不是每一个小功能都依赖于其他依赖项的东西。 E.g of framework 你想要导航,就使用这个功能,一个框架不会说你安装另一个依赖或包,因为框架不是这样的。这是对框架的正确定义。需要明确的一点是:什么是框架?祝大家好运。
猜你喜欢
  • 1970-01-01
  • 2017-12-28
  • 1970-01-01
  • 1970-01-01
  • 2012-06-08
  • 2022-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多