如何在Android的Java库中添加资源(例如文本文件)

时间:2019-05-14 02:57:06

标签: java android

我正在为Android创建一个Java库。库的一部分取决于一个文本文件,该文本文件包含无法放入源代码文件中的大数据集。

现在,当我在本地进行测试时,它可以工作,但是当我尝试将其用作库时,它就无法工作。

我感觉它的路径不正确,或者库中文件本身丢失了。

我想知道在Android Studio中为Android的Java库添加文本文件的步骤。

是否需要向构建文件添加任何内容? 还是必须将文本放在特定的文件夹中? 还是我必须使用其他代码来获取文件路径? 或其他的东西。

我将https://jitpack.io用于软件包存储库。

有关更多信息,您可以查看存储库 https://github.com/lifeparticle/PhotonyLibs

要获取数据

File file = new File("AstroJava/src/main/res/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
        └── res
            └── cities.txt

1 个答案:

答案 0 :(得分:0)

您可以将文件放置在“资产”文件夹中。

── AstroJava.iml
└── src
    └── main
        ├── java
        └── res
        └── assets
            └── cities.txt

您可以在代码中引用它,例如:

科特林

val inputStream = context.assets.open("cities.txt")

Java

try {
    InputStream inputStream = context.getAssets().open("cities.txt");
} catch (IOException e) {
    e.printStackTrace();
}