MCFrame框架v0.1版本发布【附JAR包下载,使用说明,使用实例源码】

MCFrame框架是我自己根据自己在Android上的开发经验所总结出来的一个框架,现在分别实现了普通的J2EE版本和Android版本,几经修改现在正式经过测试之后发布。

 

1 有线程的集中管理,DataHandlerCenter中集成了线程池,而且线程池是可以在xml中进行配置的

2 回调功能,这样就非常的灵活

3 统一接口,无限扩展,采用统一的接口,只需要在xml中进行配置,即可实现无限的扩展

4 指令发送出去之后如果尚在线程池的对类中等待时是可以取消的

5 安卓中常见的阻塞问题这里得到了非常好的解决,不需要使用AsyncTask即可实现异步加载等等不会出现UI阻塞

 

使用说明

 

1 导入MCFrame.jar

2 new 一个DataHandlerCenter的对象

DataHandlerCenter dataHandlerCenter = new DataHandlerCenter();

3 使用DataHandlerCenter对象的invoke方法调用出去

dataHandlerCenter.invoke(2, null, null, new Test());

4 invoke方法的参数说明

invoke(int msg, GeneralParameters requestParameters,

GeneralParameters responseParameters, OnCallbackListener callback)

msg 消息,也可以解释为命令,就是你要干什么,并且需要在处理类配置的xml中对msg进行配置

requestParameters 请求的参数,里面可以封装很多内容

responseParameters 返回的参数 ,一样里面可以封装很多内容

OnCallbackListener 这是一个回调对象,一般使用DataHandlerCenter的类都需要实现OnCallbackListener这个接口,这个接口其中有两个方法OnCallBack和OnException

onCallback(int msg, GeneralParameters requestParameters, GeneralParameters responseParameters)

调用invoke的参数全部返回,并且将结果封装在responseParameters中

onException(int msg, GeneralParameters requestParameters, String exceptionMsg);

请求的参数全部原样返回,但是因为出错了所以就没有了响应的参数,而是将出错信息返回去了

5 所有处理的类都需要实现OnInvokeListener的接口,这样通过xml的配置就能够调用到这个类上来

6 ApplicationConfig.xml的配置

必须放置在src的根目录下

配置内容很简单,如下:

<config>

<handler_class path="HandlerClassMappingConfig.xml"></handler_class>

<thread_pool core_pool_size="2" maximum_pool_size="5" queue_size="50"></thread_pool>

</config>

path="HandlerClassMappingConfig.xml"用来配置处理类的映射xml路径,都是相对于src目录的路径

thread_pool 线程池的配置

core_pool_size 始终保持在cpu中的线程数量

maximum_pool_size 最多同时运行的线程数量

queue_size 等待队列的大小,当执行命令所产生的线程数量超过queue_size时就会抛出异常从而会触发OnException

7 HandlerClassMappingConfig.xml的配置

这个路径是在ApplicationConfig.xml中进行配置的,ApplicationConfig.xml文件必须放在src目录下,而HandlerClassMappingConfig.xml可以放在src目录内的任何目录下都可以,只需要将路径在ApplicationConfig.xml文件中进行配置即可,名字也可以随便更改

配置内容格式也是非常简单的:

<config>

<mapping key="1" value="com.macrocheng.mcframe.test.AAA"></mapping>

<mapping key="2" value="com.macrocheng.mcframe.test.BBB"></mapping>

</config>

其中key就是对应的msg

value就是用来处理该消息的OnInvokeListener接口实现类

posted @ 2011-12-08 09:22  MacroCheng  阅读(1509)  评论(4编辑  收藏  举报