我正在为Android编写应用程序,但我打算为PC构建此应用程序。所以我想尽可能重复使用尽可能多的代码。但有些情况下我必须使用特定于平台的功能。例如,用于记录输出和加载资源。 我正在寻找一种简单的解决方案来抽象这些功能。我目前的解决方案是,我写了这个类如何开发适用于智能手机和PC的应用程序
public class LoggerAndroid{
public static void debug(String tag, String msg) {
Log.d(tag, msg);
}
public static void error(String tag, String msg) {
Log.e(tag, msg);
}
public static void info(String tag, String msg) {
Log.i(tag, msg);
}
public static void warn(String tag, String msg) {
Log.w(tag, msg);
}
}
而这一次
public class Logger extends LoggerAndroid{
}
在我的代码使用表达式像
Logger.info("test", "HelloWorld");
以及编写计算机应用程序,我再写使用相同的方法记录类,并让Logger继承该类。 因此,做出很少的更改并使用日志方法仍然很容易。但我认为维护代码并且相当强硬。 对此有更好的解决方案吗?
+1,但请不要将它称为ILogger。我还会删除“标记”部分,并将其作为日志工厂调用的一部分,因为大多数Java日志实现都是这样做的,并将该部分从主线代码中取出。 –
我从来没有使用任何类型的日志记录电脑,所以我不知道它是如何去。 – Jong
谢谢你的答复!我想过这样的解决方案,但我认为它并没有消除这些缺点。此外,我不想创建一个类,因为Android日志实例可以以静态方式访问,并且我想保留这一点 – Jay