java - 我有一个在所有项目中重复使用的类。我应该把它变成一个库组件吗?

标签 java android-studio

我有一个在所有项目中重复使用的类。我应该把它变成一个库组件吗?将单个类设为库是否值得,还是太过分了?

编辑:使其成为一个库的另外两个原因: 1.我的最新项目中还有 2 个附加组件,如果此类是一个组件,他们也将能够使用它 2. 我正在考虑向该类添加基于注释的附加功能,这将允许其客户端添加注释并以更少的编写量使用它。这将需要一个额外的类或一组类,这将使其更适合组件,不是吗?

这是我正在谈论的类(class):

/**
 * Allows for logcat output to be turned off centrally by switching the value of
 * a boolean variable for Store builds
 */
public class JKLog {

    /**
     * Set to false for Google Play Store builds
     */
    public static final boolean LOGGING_ALLOWED = true;

    /**
     * This tag will be used as the automatically passed first parameter to the custom log library used
     * Whenever we need to call the log methods only passing a message parameter
     */
    public static final String DEFAULT_LOGGING_TAG = "MyApp";

    private static final String ERROR_PARAMETER_IS_NULL_OR_EMPTY = "Parameter passed is either null or empty";

    public static void logDEvenWhenLoggingIsDisabled(String tag, String message) {
        if (tag != null && message != null) {
            Log.d(tag, message);
        } else if (message != null || !message.contentEquals("")) {
            Log.d(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void logEEvenWhenLoggingIsDisabled(String tag, String message) {
        if (tag != null && message != null) {
            Log.e(tag, message);
        } else if (message != null || !message.contentEquals("")) {
            Log.e(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void d(Object message) {
        if (message != null) {
            d(DEFAULT_LOGGING_TAG, message.toString());
        } else {
            d(DEFAULT_LOGGING_TAG, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void e(Object message) {
        if (message != null) {
            e(DEFAULT_LOGGING_TAG, message.toString());
        } else {
            e(DEFAULT_LOGGING_TAG, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void i(Object message) {
        if (message != null) {
            i(DEFAULT_LOGGING_TAG, message.toString());
        } else {
            i(DEFAULT_LOGGING_TAG, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void w(Object message) {
        if (message != null) {
            w(DEFAULT_LOGGING_TAG, message.toString());
        } else {
            w(DEFAULT_LOGGING_TAG, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void d(String tag, Object message) {
        if (message != null) {
            d(tag, message.toString());
        } else {
            d(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void e(String tag, Object message) {
        if (message != null) {
            e(tag, message.toString());
        } else {
            e(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void i(String tag, Object message) {
        if (message != null) {
            i(tag, message.toString());
        } else {
            i(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void w(String tag, Object message) {
        if (message != null) {
            w(tag, message.toString());
        } else {
            w(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void d(String tag, String message) {
        if (LOGGING_ALLOWED && tag != null && message != null && !message.contentEquals("")) {
            Log.d(tag, message);
        } else if (LOGGING_ALLOWED && (message == null || message.contentEquals(""))) {
            Log.d(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void e(String tag, String message) {
        if (LOGGING_ALLOWED && tag != null && message != null && !message.contentEquals("")) {
            Log.e(tag, message);
        } else if (LOGGING_ALLOWED && (message == null || message.contentEquals(""))) {
            Log.e(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void i(String tag, String message) {
        if (LOGGING_ALLOWED && tag != null && message != null && !message.contentEquals("")) {
            Log.i(tag, message);
        } else if (LOGGING_ALLOWED && (message == null || message.contentEquals(""))) {
            Log.i(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

    public static void w(String tag, String message) {
        if (LOGGING_ALLOWED && tag != null && message != null && !message.contentEquals("")) {
            Log.w(tag, message);
        } else if (LOGGING_ALLOWED && (message == null || message.contentEquals(""))) {
            Log.w(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
        }
    }

} // End of Class

最佳答案

您可以从创建此类的库开始。当您获得越来越多的通用组件时,您可以向该库添加新类。单个类,这就是大多数非杰出库的开始方式。

关于java - 我有一个在所有项目中重复使用的类。我应该把它变成一个库组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34507386/

相关文章:

java - 在 Java 中编写递归方法时遇到问题

java - JDBC 显示语法错误,但查询在 HeidiSQL 中运行正常

android - 从 Google Places Api 获取某个地点的照片

java - 为什么在java代码中创建的Android Button()必须使用(this)作为上下文?

java - OnItemSelectedListener 每次都会强制关闭应用程序

eclipse - 是否可以在团队中使用 Android Studio 和 Eclipse

java - 评估通过文件与编码创建 GUI

java - 二维数组过程?

java - Java 7 中 ComputeIfAbsent 的等价物

android - 所有代码都从 Android Studio 中消失了