Author 正正 Date 2010.12.31 23:15:00 转载请注明出处 http://www.2009fly.com
最近做一个项目,需要用PC去调用Android上的程序实现某些操作。原来是利用PC来模拟Android上的工作过程,由于时间紧张,一直没有 时间移植过去,当时也不知道Android上到底该怎么操作,接口是什么。到了产品的第二阶段,需要考虑移植的问题,但是这时候已经有很多的类全是按照在 PC上写的,幸亏当时只是提供的接口。好了,废话少说,现在看看具体实现吧。
Android做Server,一开始我考虑的是将WebService移植到Android上,至于Web容器,已有人将Jetty移植了过去,也就是i-jetty 。但是这个太重量级了,而且要修改的东西会太多。比如PC上要实现WebService上的客户端操作,这个未免小题大做,况且只有很少的几个接口调用,于是我考虑自己写一个简单的RPC操作,下面是我的构思:
PC(RPC Client)端发送一个RPCRequest,然后用socket通信方式发送到Android(RPC Server)上,Android解析RPCRequest,用反射机制完成相应类的调用,如果是第一次调用,并且传递的方法名和类的名称一样,则会初始 化该类【构造函数调用】,并将类的实例在Server端注册,以便下次可以直接调用;如果是其他方法,则可以直接调用。将调