1.Map类型的数据在new时不能够给一个null指针,必须直接new一个新的出来,而且不是Map类型,而应该是HashMap类型。由此引申出对List,Map,Set等使用的注意事项。
Map<String, Object> map = null; //由于写了上面的语句,程序一直报空指针异常,后面的map.put()也都是没有用的,改为下面语句之后,一切正常了 Map<String, Object> map = new HashMap<String, Object>();
2.在使用handler.sendMessage(msg)后遇到如下错误报告:
java.lang.IllegalStateException: The specified message queue synchronization barrier token has not been posted or has already been removed.
最后使用dispatchMessage(msg)方法解决了问题,问题原因未知。
(改进版)问题同上,在handler的handlerMessage()方法中加一条,this.obtainMessage()之后错误消失。我怀疑是跟android自身设计的缺陷有关,全部自动进行信息send和接收会产生误差,手动要求检查并obtain信息就可以解决这一问题。