我正在为 Android 创建一个 Java 库。该库的一部分依赖于一个文本文件,其中包含无法放入源代码文件中的大型数据集。
现在,当我在本地测试时它可以工作,但当我尝试将它用作库时它不起作用。
我有一种感觉,路径不正确,或者文件本身可能从库中丢失了。
我想知道在 Android Studio 中将文本文件添加到 Android Java 库的步骤。
我需要在构建文件中添加任何内容吗? 或者我必须将文本放在特定文件夹中吗? 或者我必须使用不同的代码来获取文件路径? 或其他东西。
我正在使用https://jitpack.io用于包存储库。
有关更多信息,您可以查看存储库 https://github.com/lifeparticle/PhotonyLibs
获取数据
File file = new File("AstroJava/src/main/resources/cities.txt");
项目结构
── AstroJava.iml
├── README.md
├── build
│ ├── ******
│ │
│ └── tmp
│ └── ******
├── build.gradle
├── libs
└── src
└── main
├── java
│ └── app
│ └── photony
│ └── java
│ └── astrojava
│ ├── CalendarHelper.java
│ ├── Cities.java
│ ├── Main.java
│ ├── MathHelper.java
│ ├── Moon.java
│ ├── Sun.java
│ └── TimeZoneHelper.java
└── resources
└── cities.txt
最佳答案
您可以将该文件放入“assets”文件夹中。
── AstroJava.iml
└── src
└── main
├── java
└── res
└── assets
└── cities.txt
您可以在代码中引用它,例如:
Kotlin
val inputStream = context.assets.open("cities.txt")
Java
try {
InputStream inputStream = context.getAssets().open("cities.txt");
} catch (IOException e) {
e.printStackTrace();
}
关于java - 如何在 Android 的 Java 库中添加资源(例如文本文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56122393/