读opensource project talkingClock有感

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查询的接口。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值