在 android studio 中将 java 文件及其依赖项添加到我的项目中的正确方法

Correct way to add java file and its dependencies into my project in android studio

我尝试将 .jar 文件作为依赖项添加到我的 android 项目中,但它没有用,所以现在我尝试只添加我需要的 java 文件。 让我们调用我想要的文件 cookies.java,然后在原始包结构中有一个包含 2 个文件的 util 文件夹 cookies.java 需要执行让我们调用它们 cookieDough 和 cookieRecipe 并且 pacakage 位于 int net.sourceforge.cooking. 所以它最终会成为我需要的 3 个文件:

net.sourceforge.cooking.cookies.java
net.sourceforge.cooking.util.cookieDough.java
net.sourceforge.cooking.util.cookieRecipe.java

我想做的是添加一个带有 cookies.java class 的烹饪文件夹 在 cooking 文件夹中有一个包含 cookieDough 和 cookieRecipe classes 的 util 文件夹。所以:

cooking/cookies.java
cooking/util/cookieDough.java
cooking/util/cookieRecipe.java

我的主程序在

src/main/java/packagename/

我试过了 使用 src,src/cooking 创建一个 java 文件夹,但我无法让 cookies.java 找到 /util/cookieDough.java 以及我的 classes [=17] =] 找到 cookies.java 或其他文件。

我添加的文件已经包含包和导入声明,但由于我将它们设为本地,我知道我必须更改这些文件,我不知道我是否需要将它们一起作为一个包。

问题:

1- 在我的项目结构中添加烹饪文件夹的正确位置。

2- 我如何让我添加的文件相互识别,这意味着我如何让 cookies.java 找到 util/cookieRecipe.java?我是否必须将它们声明为一个包

3- 如何让我的 java classes 在 src/main/java/packagename/ 中找到 cooking 目录中的 classes,导入语句??

如果我只是将 3 个 java 文件添加到我的主包中并从中删除所有导入和包语句,这一切都有效,但我想弄清楚如何以正确的方式做到这一点(最好实践),我假设我应该将这些文件与我的文件分开。

顺便说一句,我添加的文件是开源的。

谢谢

I tried adding .jar files into my android project as a dependency but it didnt work

发生了什么让您知道它 "didn't work"?这可能是一个更重要的问题有待解决,并且可能是您在问题末尾提到的"best practise"。

但是关于直接把那个.java文件的另一个问题,原来的问题似乎有点乱。您只需记住将每个 .java 文件放在该文件相对于 src/main/javapackage 语句指示的目录中。

以你的问题为例,你似乎添加了net.sourceforge.cooking.cookies.java(这意味着,目录net/sourceforge/cooking下的一个文件,名称cookies.java,带有package net.sourceforge.cooking;语句里面),那么你可以在src/main/java下创建一个包来放那个文件,这说明你的文件可以是src/main/java/net/sourceforge/cooking/cookies.java。 (是的,这个目录忽略了 src/main/java/packagename 中你的主要源的原始目录。)希望这是对问题 1 的回答。

对于问题2,你需要的似乎只是一个import语句,

import net.sourceforge.cooking.util.cookieRecipe

在什么目录下会显示它有什么包名。所以你要声明包名,只是Java中的一个package声明为common,不需要其他声明,没有其他配置。

和问题3一样,你不用关心你处理的是两个没有公共包的包树,一个是net.sourceforge.cooking,一个是packagename, (或者在目录中,一个是src/main/java/net/sourceforge/cooking,另一个是src/main/java/packagename