Как использовать android.util.Log в дополнительном модуле Android? - PullRequest
0 голосов
/ 26 марта 2019

Я занимаюсь разработкой приложения для Android с чистой архитектурой. Поэтому я разделил модули на «приложение», «данные», «домен».

Но я хочу использовать файл android.utils.Log в модуле «data», «domain».

Я не могу найти его в модулях 'data', 'domain'.

Ниже представлен файл Gradle моего модуля 'domain'.

apply plugin: 'java-library'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

sourceCompatibility = "7"
targetCompatibility = "7"

Должен ли я что-то добавить сюда?

Или я должен просто использовать метод "System.out.println ()"?

1 Ответ

1 голос
/ 26 марта 2019

Прежде всего я должен подтвердить, что ваши намерения хороши:)

Вам нужно сделать следующее, чтобы достичь того, что вы хотите:

  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:

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.d (...) - все вокруг в ваших чистых Java-модулях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...