Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java和Android构建个人库_Java_Android - Fatal编程技术网

用Java和Android构建个人库

用Java和Android构建个人库,java,android,Java,Android,我希望尽可能多地重用代码。假设我创建了一个名为JavaBase的库,并将其嵌套在Android的aar包中。这是一个体面的解决方案吗 假设JavaBase包含以下代码: public class BooleanUtils { private static final String TAG = "BooleanUtils"; public static boolean stringEquals(String arg, String... params) {

我希望尽可能多地重用代码。假设我创建了一个名为JavaBase的库,并将其嵌套在Android的aar包中。这是一个体面的解决方案吗

假设JavaBase包含以下代码:

public class BooleanUtils {

    private static final String TAG = "BooleanUtils";

    public static boolean stringEquals(String arg, String... params) {
        for (String s : params) if (s.equals(arg)) return true;
        return false;
    }
...
现在我也想在Android中提供同样的代码。对于aar包(又名“Android库”),使用以下代码是否是一种推荐的方式

提前谢谢

编辑

经过一些测试,我看到这两个包都可以导入到它将是
无需回忆在android studio中创建库的基本库中的方法,只需右键单击应用程序文件夹->新建->模块即可

单击模块,然后选择android库作为您的模块。随便你叫什么名字都行

在模块:app gradle中,将compile项目(“:yourlibrary”)添加为依赖项


就这样,现在您可以在主项目中访问库的功能。例如:您可以在主项目java类中直接使用BooleanUtils.stringEquals()

是的,在Java(TM)和Android之间共享Java代码库是很好的。编译代码,将其放入JAR文件中,然后共享

但是,您需要注意共享代码库中各个平台的意外依赖性;i、 e.依赖于Java SE方法中不存在于Android上的类/方法,反之亦然。为了防止这种情况,建议在两个平台上编译(和单元测试)共享代码库


话虽如此,这里有一些免费的建议


虽然重用您自己的代码是一个很酷的想法,但重用其他人的代码通常更有效。特别是由Guava和Apache Commons编写的代码。滚动您自己的库的问题是,您可能最终会重新发明轮子,并且您可能最终不得不维护比您真正想要/需要的更多的代码。此外,虽然您可能认为您的库比其他库更好,但是其他可能需要维护您的代码库的人可能会有不同的意见。如果其他人在将来某个时候需要处理您的代码库,这可能会导致问题。

谢谢,但我想您没有理解我的问题。。我想在Java(纯Java)和Android中分享“BooleanUtils”。。我想在两个库中共享相同的代码库…是的,这完全可以。此外,如果已经创建了jar,也可以直接使用jar<当您需要在库中包含资源时,建议使用code>aar,只要它是唯一的java代码,
jar
就可以了。是的,您的权利Rahul,谢谢:)
public class BooleanUtils {

    private static final String TAG = "BooleanUtils";

    public static boolean stringEquals(String arg, String... params) {
        return JavaBase.stringEquals(arg, params);
    }