问题:
android开发中用到Handle,一直显示没有实现抽象方法,碰到下面的错误:
Class 'Anonymous class derived from Handler' must either be declared abstract or implement abstract method 'publish(LogRecord)' in 'Handler'
原因:
导入包错误
解决:
应该导入android.os.Handler,而不是java.util.logging
总结:
1.android.os.Handler(From the Android documentation)
处理程序允许您发送和处理与线程的MessageQueue关联的Message和Runnable对象。 每个Handler实例都与一个线程和该线程的消息队列关联。 创建新的Handler时,它将绑定到正在创建它的线程的线程/消息队列中-从那时起,它将把消息和可运行对象传递到该消息队列,并在它们从消息中出来时执行它们 队列。
Handler对象从Logger获取日志消息并导出。 例如,可能将它们写入控制台或将它们写入文件,或者将它们发送到网络日志记录服务,或者将它们转发到OS日志等等。
2.java.util.logging(From the Oracle documentation)
可以通过执行setLevel(Level.OFF)禁用处理程序,并可以通过执行具有适当级别的setLevel来重新启用处理程序。处理程序类通常使用LogManager属性来设置处理程序的Filter,Formatter和Level的默认值
参考:
https://blog.csdn.net/sinat_17775997/article/details/80690820