【问题标题】:How can I get the file in the root folder of my android app code via code?如何通过代码获取我的 android 应用程序代码的根文件夹中的文件?
【发布时间】:2017-02-20 20:28:13
【问题描述】:

我想引用 config.json 文件。

【问题讨论】:

  • 这些文件存在于您的开发机器上。它们不会在 Android 设备/模拟器上。
  • @MikeM。那么 Firebase 是如何从类似文件中获取他们的信息的呢?
  • @VibinKumar 这不相关。
  • 是不是不能把它复制到你的assets文件夹里然后从那里访问?

标签: java android file


【解决方案1】:

更改位置文件 config.json 并将文件放入“res/raw”文件夹。默认情况下,“raw”文件夹不会在 android proyect 中创建(您必须手动创建)。

总而言之,将您的 json 文件放在“res/raw/config.json”中。稍后,您可以使用 next 函数在代码中读取此文件:

public String streamToString(InputStream in) {
    String l;
    BufferedReader r = new BufferedReader(new InputStreamReader(in));
    StringBuilder s = new StringBuilder();
    try {
        while ((l = r.readLine()) != null) {
            s.append(l);
        }
    } catch (IOException e) {
    }
    return s.toString();
}

现在,您可以使用之前的功能来读取 res 文件夹中的任何文件。在这种情况下,您可以使用下一个代码读取“config.json”并获取包含文件内容的字符串:

//Function getResources() must be called from a Context Activity or Aplication
InputStream rawResourceConfig = getResources().openRawResource(R.raw.config);
String contentConfig = streamToString(rawResourceConfig);

现在,您将文件 config.js 中的所有内容作为字符串放入 contentConfig。

最后,您可以使用 GSON 库(例如)将 JSON 字符串转换为 Java 对象。

我希望这是有希望的。

祝你好运。

【讨论】:

    【解决方案2】:

    如何通过代码获取我的android应用代码根文件夹中的文件?

    你没有。构建工具不会将随机位置的随机文件打包到您的 APK 中。 config.json 文件不在您的 APK 中。

    使用assets/res/raw/ 将任意内容打包到您的应用中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      • 2017-12-02
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 2019-02-08
      • 2015-01-06
      相关资源
      最近更新 更多