您的位置:首页 > 运维架构

读opensource project talkingClock有感

2010-06-18 19:41 190 查看
talkingClock是google code上的一个j2me 的opensource project。

这个项目对我的帮助有两点:

第一是它的日志,这种分级的日志我想做,但一直懒得去做,现在可以直接用了。用这个日志,可以提高模拟器移植到实际设备后的调试效率。

第二是它的本地语言。通过配置语言类型,然后,读取对应的语言文件,就可以灵活配置程序的语言类型了。这种方法比我之前在一个资源类中存放字符信息灵活性更佳。对这部分稍微修改,就可以用存储在磁盘上的(相对于打包到JAR中)的文件来配置,实现在不修改程序的前提下,修改本地语言。

简要分析一下talkingclock的代码;

Logger对日志分了六类:FATAL、ERROR、WARN、INFO、DEBUG和TRACE。

在Logger中用一个Stringbuffer存储所有的调试信息,设置了一个最大的容量,默认是2000字节,可以设置最大容量。当需要添加新的信息,而StringBuffer已经到了最大容量时,就删去相对最旧的调试信息。

此外,允许设置记录级别,通过记录级别可以过滤掉低于该级别的消息。

此外,在这个Logger中还做了一个对StringBuffer的synchronized,以防止并发访问。

这个Logger需要修改的就是它的显示是通过传入的midlet来display的,这样,不利于集成进现有的MVC架构。还有一点需要改进的就是没有添加文件读写。现在的j2me程序很多都没有使用高级UI,而且虚拟机对setCurrent的频繁切换的支持也有限。因此,有必要将日志信息记录到文件中。

本地语言文件中实际上是key-value对,在程序启动时读取文件解析文件,形成key-Value对的Hashtable(这个和我的CommonResource类似,不过我的CommonResource是java文件,此为,我的key是整数,而talkingClock是字符串)。然后提供了根据key查询的接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: