我想尽可能多地重用代码。假设我创建了一个名为JavaBase的库,并将其嵌套在Android的aar-package中。这是一个不错的解决方案?
让我们说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-package(又名“Android库”)
public class BooleanUtils {
private static final String TAG = "BooleanUtils";
public static boolean stringEquals(String arg, String... params) {
return JavaBase.stringEquals(arg, params);
}
提前致谢
修改
经过一些测试后,我发现两个软件包都可以导入到它 没有必要回忆基础库中的方法
答案 0 :(得分:1)
是的,可以在Java(TM)和Android之间共享Java代码库。编译代码,将其放在JAR文件中,然后共享它。
但是,您需要注意共享代码库中各个平台的意外依赖性;即依赖于Java SE方法中的类/方法,这些方法/方法在Android上不存在或反之亦然。为了防范这种情况,建议在两个平台上编译(和单元测试)共享代码库。
话虽如此,这里有一些免费的建议。
虽然重用自己的代码是一个很酷的主意,但重用其他人的代码往往更有效率。代码。特别是由Guava和Apache Commons人员编写的代码。滚动自己的库的问题在于你最终可能会重新发明轮子,最终你需要维护一堆比你真正想要/需要更多的代码。此外,虽然您可能认为您的库比替代品更好,但其他可能需要维护您的代码库的人可能会有不同的意见。如果其他人需要在将来的某个时间处理您的代码库,那么这可能会导致问题。
答案 1 :(得分:0)
要在android studio中创建一个库,只需右键单击你的app文件夹 - >新建 - >模块。
单击模块,然后选择android库作为模块。给它你想要的任何名字。
在您的模块中:app gradle将编译项目(':yourlibrary')添加为依赖项。
就是这样,现在您可以在主项目中访问库的功能了。例如:您可以直接在主项目java类中使用BooleanUtils.stringEquals()。