我喜欢在Android示例中使用记录器的方式,并希望在我的应用程序中实现同样的方式。但我发现很难理解控制流程。有人能帮我理解它吗。
我正在参考RecyclerView样本。
下载链接:https://developer.android.com/downloads/samples/RecyclerView.zip
项目结构截图:

Edit1 :我不知道这里到底发生了什么,这里说的是管道:下一个接收日志数据的节点.以及如何在控制台和UI上打印消息。
LogWrapper类的代码节:
// For piping: The next node to receive Log data after this one has done its work.
private LogNode mNext;
/**
* Returns the next LogNode in the linked list.
*/
public LogNode getNext() {
return mNext;
}
/**
* Sets the LogNode data will be sent to..
*/
public void setNext(LogNode node) {
mNext = node;
}我想知道logger包下各个类之间的关系,以及当我们从活动、片段或适配器调用Log.d()时,它们之间的控制是如何流动的。
发布于 2016-05-26 06:59:08
管道通过链接列表实现。
在MainActivity.initializeLogging()中,您将填充此列表。
LogWrapper -> MessageOnlyLogFilter -> LogView
所有这些类都实现了接口LogNode (可以打印)和列出相同的行为(节点和移动到下一个)。
LogWrapper将所有消息发送到标准记录器,如果存在任何节点,它将传递消息(在本例中为MessageOnlyLogFilter)。
MessageOnlyLogFilter删除除消息之外的所有内容,并推送到下一个节点(LogView)。
LogView扩展了TextView并在屏幕上打印日志。
https://stackoverflow.com/questions/37452805
复制相似问题