我正在使用Clean Architecture开发Android应用程序。 因此,我将模块分为“应用”,“数据”,“域”。
但是我要做的是使用android.utils.Log登录到'data','domain'模块。
我无法在“数据”,“域”模块中找到它。
下面是我的“域”模块的gradle文件。
apply plugin: 'java-library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
}
sourceCompatibility = "7"
targetCompatibility = "7"
我应该在这里添加一些东西吗?
还是我应该只使用“ System.out.println()”方法?
答案 0 :(得分:1)
首先,我必须确认您的意图是否良好:)
您需要执行以下操作才能实现所需的目标:
在您的Log
中定义最终的domain
类和接口定义日志:
public final class Log {
private static LogInterface logInterface;
public static void d(String tag, String message) {
logInterface.d(tag, message);
}
public static void setLogInterface(LogInterface logInterface) {
Log.logInterface = logInterface;
}
public interface LogInterface {
void d(String tag, String message);
//...
}
}
请注意,以上所有内容都是纯Java,与Android无关。
在您的任何android模块中,创建并实现android logger:
public class AndroidLog implements Log.LogInterface {
public void d(String tag, String message) {
android.util.Log.d(tag, message);
}
}
可能与p2在同一模块中,初始化(初始化可能会在创建应用程序时发生):
Log.setLogInterface(new AndroidLogger());
现在,您可以像这样使用域的Log:Log.d(...)-在纯Java模块中到处都是。