这个问题差不多概括了它。我错误地导入了java.util.logging,没有获得所需的功能。现在我解决了我的问题,但我想知道为什么安卓已经创建了两个处理器。我们可能会误导入错误的。与Fragment和Support Fragment一样
来自Android文档:
handler:
Handler允许你发送和处理Message和Runnable对象与线程的MessageQueue相关联。每个Handler实例是与单个线程和该线程的消息队列关联。当创建一个新的Handler,它被绑定到的线程/消息队列创建它的线程——从那时起,它将交付消息和可运行程序到该消息队列,并将它们作为消息队列执行从消息队列中退出。
来自Oracle文档:
java.util.logging.Handler
Handler对象从Logger获取日志消息并导出它们。它例如,可以将它们写入控制台或将它们写入文件,或者将它们发送到网络日志服务,或转发到操作系统日志,等等。
处理程序可以通过执行setLevel(Level.OFF)来禁用通过使用适当的级别执行setLevel重新启用。处理程序类通常使用LogManager属性来设置默认值处理程序的过滤器、格式化器和级别
java.util.logging.Handler
来自香草Java。它是各种类型的日志终端(socket, file…)的超类
android.os.Handler
是android开发团队创建的用于处理消息的类。
还有其他的例子:
- Apache DateUtils和Android DateUtils
-
java.lang.Integer
和android.R.integer
…
只要类在不同的包中,就允许它们具有相同的名称。(这也是不可避免的,因为人们必然会用相同的名字来指代模糊相似的事物)
Handler允许您发送和处理与线程的MessageQueue相关的Message和Runnable对象。每个Handler实例都与一个线程及其消息队列相关联。当您创建一个新的Handler时,它被绑定到创建它的线程的线程/消息队列中——从那时起,它将向该消息队列传递消息和可运行程序,并在它们从消息队列中出来时执行它们。
参考Handler对象接受日志记录请求并将所需的消息导出到目标,例如文件、控制台等。可以通过将其日志级别设置为level . off来禁用它。
参考android.os.Handler
Handler允许你发送和处理与线程的MessageQueue相关的Message和Runnable对象。每个Handler实例都与一个线程及其消息队列相关联。当您创建一个新的Handler时,它被绑定到创建它的线程的线程/消息队列中——从那时起,它将向该消息队列传递消息和可运行程序,并在它们从消息队列中出来时执行它们。
Handler有两个主要用途:(1)调度消息和可运行程序,以便在将来某个时间点执行;(2)让一个动作在不同的线程上执行,而不是在自己的线程上。
示例:如果你想在UI线程上执行一些操作。这只适用于android API
java.util.logging.Handler
Handler对象从Logger获取日志消息并导出它们。例如,它可以将它们写入控制台或写入文件,或将它们发送到网络日志服务,或将它们转发到操作系统日志,或其他。
示例:想要在某个地方输出不被提供的处理程序处理的输出,使用logger创建自己的处理程序和钩子。日志将由您提供的处理程序编写。
有很大的不同。调用类Handler并不意味着它们都是一样的。处理程序执行提供给他们的任务。它可以是日志记录,或者在android的情况下,它执行一些任务