这个月花了较长时间写一个Demo,希望可以用Socket远程控制Android上的程序,避免反复地重启程序。想法很简单,就是利用Socket或Pipe的原理实现逻辑和用户界面的松耦合。不过事实上做出来发现效果不太理想,不过可以用。
源码上传到github上:https://github.com/weimingtom/RemoteDebugGame
其实这种想法基本上来源于android-ui-utils和Luarida的。不过自己的编程水平不高无法把它弄得好用。通信可以是Socket或Pipe,而通信格式是单纯的UTF8和JSON(UTF8没有粘包的问题,而JSON是Android官方就自带的)。服务器(Android端)是做成单用户长连接的。
运行起来大概就是这种感觉:
设备上:(相当于服务器,需要用手指触碰发送消息,接收消息后才移动图片)
主机上:(相当于客户端,运行在主机上,负责逻辑处理,在这里只是重新封包后发回去)
总体来说响应太慢了,可能有某些性能问题,打算暂时放弃这种想法。